liquid-diagrams 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -16
  3. data/features/diagrams/bitfield.feature +48 -0
  4. data/features/diagrams/blockdiag.feature +19 -0
  5. data/features/diagrams/erd.feature +19 -0
  6. data/features/diagrams/graphviz.feature +19 -0
  7. data/features/diagrams/mermaid.feature +20 -0
  8. data/features/diagrams/netlistsvg.feature +27 -0
  9. data/features/diagrams/nomnoml.feature +19 -0
  10. data/features/diagrams/plantuml.feature +17 -0
  11. data/features/diagrams/smcat.feature +23 -0
  12. data/features/diagrams/svgbob.feature +19 -0
  13. data/features/diagrams/syntrax.feature +20 -0
  14. data/features/diagrams/vega.feature +23 -0
  15. data/features/diagrams/vegalite.feature +23 -0
  16. data/features/diagrams/wavedrom.feature +24 -0
  17. data/features/step_definitions/diagrams.rb +21 -0
  18. data/features/support/env.rb +15 -0
  19. data/lib/liquid_diagrams.rb +9 -17
  20. data/lib/liquid_diagrams/basic_block.rb +12 -42
  21. data/lib/liquid_diagrams/basic_renderer.rb +43 -1
  22. data/lib/liquid_diagrams/blocks.rb +14 -0
  23. data/lib/liquid_diagrams/renderers.rb +10 -0
  24. data/lib/liquid_diagrams/renderers/bitfield_renderer.rb +9 -13
  25. data/lib/liquid_diagrams/renderers/blockdiag_renderer.rb +7 -15
  26. data/lib/liquid_diagrams/renderers/erd_renderer.rb +7 -15
  27. data/lib/liquid_diagrams/renderers/graphviz_renderer.rb +10 -10
  28. data/lib/liquid_diagrams/renderers/mermaid_renderer.rb +2 -9
  29. data/lib/liquid_diagrams/renderers/netlistsvg_renderer.rb +13 -0
  30. data/lib/liquid_diagrams/renderers/nomnoml_renderer.rb +0 -4
  31. data/lib/liquid_diagrams/renderers/plantuml_renderer.rb +5 -5
  32. data/lib/liquid_diagrams/renderers/smcat_renderer.rb +0 -10
  33. data/lib/liquid_diagrams/renderers/svgbob_renderer.rb +0 -10
  34. data/lib/liquid_diagrams/renderers/syntrax_renderer.rb +0 -10
  35. data/lib/liquid_diagrams/renderers/vega_renderer.rb +9 -23
  36. data/lib/liquid_diagrams/renderers/vegalite_renderer.rb +19 -0
  37. data/lib/liquid_diagrams/renderers/wavedrom_renderer.rb +1 -1
  38. data/lib/liquid_diagrams/rendering.rb +8 -6
  39. data/lib/liquid_diagrams/utils.rb +21 -14
  40. data/lib/liquid_diagrams/version.rb +1 -1
  41. data/spec/liquid_diagrams/basic_block_spec.rb +25 -62
  42. data/spec/liquid_diagrams/basic_renderer_spec.rb +27 -5
  43. data/spec/liquid_diagrams/blocks_spec.rb +0 -0
  44. data/spec/liquid_diagrams/renderers/bitfield_renderer_spec.rb +1 -19
  45. data/spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb +3 -31
  46. data/spec/liquid_diagrams/renderers/erd_renderer_spec.rb +3 -37
  47. data/spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb +11 -21
  48. data/spec/liquid_diagrams/renderers/mermaid_renderer_spec.rb +3 -19
  49. data/spec/liquid_diagrams/renderers/netlistsvg_renderer_spec.rb +9 -0
  50. data/spec/liquid_diagrams/renderers/nomnoml_renderer_spec.rb +1 -7
  51. data/spec/liquid_diagrams/renderers/plantuml_renderer_spec.rb +4 -14
  52. data/spec/liquid_diagrams/renderers/smcat_renderer_spec.rb +1 -25
  53. data/spec/liquid_diagrams/renderers/svgbob_renderer_spec.rb +1 -23
  54. data/spec/liquid_diagrams/renderers/syntrax_renderer_spec.rb +1 -23
  55. data/spec/liquid_diagrams/renderers/vega_renderer_spec.rb +3 -21
  56. data/spec/liquid_diagrams/renderers/vegalite_renderer_spec.rb +15 -0
  57. data/spec/liquid_diagrams/renderers/wavedrom_renderer_spec.rb +3 -3
  58. data/spec/liquid_diagrams/utils_spec.rb +20 -8
  59. data/spec/liquid_diagrams_spec.rb +52 -0
  60. data/spec/spec_helper.rb +5 -0
  61. data/spec/support/shared_examples.rb +8 -19
  62. data/vendor/{mermaid_puppeteer_config.json → puppeteer.json} +0 -0
  63. metadata +70 -19
@@ -1,6 +1,54 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe LiquidDiagrams do
4
+ describe '.configuration' do
5
+ let(:key) { :liquid_diagrams }
6
+
7
+ context 'with no key' do
8
+ it 'default is empty hash' do
9
+ expect(described_class.configuration({})).to eq({})
10
+ end
11
+
12
+ it 'allow symbol key' do
13
+ expect(described_class.configuration({ key => 'sym' })).to eq 'sym'
14
+ end
15
+
16
+ it 'allow string key' do
17
+ expect(described_class.configuration({ key.to_s => 'str' })).to eq 'str'
18
+ end
19
+
20
+ it 'prefer symbol key' do
21
+ expect(
22
+ described_class.configuration({ key => 'sym', key.to_s => 'str' })
23
+ ).to eq 'sym'
24
+ end
25
+ end
26
+
27
+ context 'with optional key' do
28
+ it 'default is empty hash' do
29
+ expect(described_class.configuration({}, key: :test)).to eq({})
30
+ end
31
+
32
+ it 'allow symbol key' do
33
+ expect(
34
+ described_class.configuration({ key => { k1: :v1 } }, key: :k1)
35
+ ).to eq :v1
36
+ end
37
+
38
+ it 'allow string key' do
39
+ expect(
40
+ described_class.configuration({ key => { 'k1' => :v1 } }, key: :k1)
41
+ ).to eq :v1
42
+ end
43
+
44
+ it 'prefer symbol key' do
45
+ expect(
46
+ described_class.configuration({ key => { k1: :v1, 'k1' => :v2 } }, key: :k1)
47
+ ).to eq :v1
48
+ end
49
+ end
50
+ end
51
+
4
52
  describe '.diagrams' do
5
53
  before do
6
54
  allow(described_class).to receive(:renderers).and_return({})
@@ -29,6 +77,10 @@ RSpec.describe LiquidDiagrams do
29
77
  end
30
78
  end
31
79
 
80
+ describe '.registered_diagrams' do
81
+ it { expect(described_class.registered_diagrams).to eq({}) }
82
+ end
83
+
32
84
  describe '.register_diagrams' do
33
85
  before { allow(described_class).to receive(:register_diagram).and_return '!' }
34
86
 
@@ -2,12 +2,17 @@
2
2
 
3
3
  require 'bundler/setup'
4
4
 
5
+ require 'deep_cover/builtin_takeover'
5
6
  require 'simplecov'
6
7
  require 'pry-byebug'
7
8
 
8
9
  require 'liquid-diagrams'
9
10
 
11
+ format = ENV['CI'] ? 'progress' : 'documentation'
12
+
10
13
  RSpec.configure do |config|
14
+ config.formatter = format
15
+
11
16
  # Enable flags like --only-failures and --next-failure
12
17
  config.example_status_persistence_file_path = '.rspec_status'
13
18
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- RSpec.shared_examples 'render with stdin and stdout' do |kclass|
4
- let(:renderer) { kclass.new 'content' }
3
+ RSpec.shared_examples 'render with stdin and stdout' do |klass|
4
+ let(:renderer) { klass.new 'content' }
5
5
 
6
6
  before do
7
7
  allow(renderer).to receive(:build_command).and_return 'cmd'
@@ -10,38 +10,27 @@ RSpec.shared_examples 'render with stdin and stdout' do |kclass|
10
10
  ).and_return 'ok'
11
11
  end
12
12
 
13
- it 'call build_command' do
14
- renderer.render
15
-
16
- expect(renderer).to have_received(:build_command)
17
- end
18
-
19
- it 'render with tempfile' do
13
+ it 'render with stdin and stdout' do
20
14
  expect(renderer.render).to eq 'ok'
21
15
 
22
16
  expect(LiquidDiagrams::Rendering).to have_received(
23
17
  :render_with_stdin_stdout
24
- ).with('cmd', renderer.instance_variable_get(:@content))
18
+ ).with('cmd', 'content')
25
19
  end
26
20
  end
27
21
 
28
- RSpec.shared_examples 'render with tempfile' do |kclass|
29
- let(:renderer) { kclass.new 'content' }
22
+ RSpec.shared_examples 'render with tempfile' do |klass|
23
+ let(:renderer) { klass.new 'content' }
30
24
 
31
25
  before do
32
26
  allow(renderer).to receive(:build_command)
33
27
  allow(LiquidDiagrams::Rendering).to receive(
34
28
  :render_with_tempfile
35
- ).and_yield('in', 'out')
36
-
37
- renderer.render
38
- end
39
-
40
- it 'call build_command' do
41
- expect(renderer).to have_received(:build_command)
29
+ ).and_yield('in', 'out').and_return 'ok'
42
30
  end
43
31
 
44
32
  it 'render with tempfile' do
33
+ expect(renderer.render).to eq 'ok'
45
34
  expect(LiquidDiagrams::Rendering).to have_received(:render_with_tempfile)
46
35
  end
47
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liquid-diagrams
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - zhustec
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-05 00:00:00.000000000 Z
11
+ date: 2020-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: liquid
@@ -153,47 +153,70 @@ extra_rdoc_files: []
153
153
  files:
154
154
  - LICENSE
155
155
  - README.md
156
+ - features/diagrams/bitfield.feature
157
+ - features/diagrams/blockdiag.feature
158
+ - features/diagrams/erd.feature
159
+ - features/diagrams/graphviz.feature
160
+ - features/diagrams/mermaid.feature
161
+ - features/diagrams/netlistsvg.feature
162
+ - features/diagrams/nomnoml.feature
163
+ - features/diagrams/plantuml.feature
164
+ - features/diagrams/smcat.feature
165
+ - features/diagrams/svgbob.feature
166
+ - features/diagrams/syntrax.feature
167
+ - features/diagrams/vega.feature
168
+ - features/diagrams/vegalite.feature
169
+ - features/diagrams/wavedrom.feature
170
+ - features/step_definitions/diagrams.rb
171
+ - features/support/env.rb
156
172
  - lib/liquid-diagrams.rb
157
173
  - lib/liquid_diagrams.rb
158
174
  - lib/liquid_diagrams/basic_block.rb
159
175
  - lib/liquid_diagrams/basic_renderer.rb
176
+ - lib/liquid_diagrams/blocks.rb
160
177
  - lib/liquid_diagrams/errors.rb
178
+ - lib/liquid_diagrams/renderers.rb
161
179
  - lib/liquid_diagrams/renderers/bitfield_renderer.rb
162
180
  - lib/liquid_diagrams/renderers/blockdiag_renderer.rb
163
181
  - lib/liquid_diagrams/renderers/erd_renderer.rb
164
182
  - lib/liquid_diagrams/renderers/graphviz_renderer.rb
165
183
  - lib/liquid_diagrams/renderers/mermaid_renderer.rb
184
+ - lib/liquid_diagrams/renderers/netlistsvg_renderer.rb
166
185
  - lib/liquid_diagrams/renderers/nomnoml_renderer.rb
167
186
  - lib/liquid_diagrams/renderers/plantuml_renderer.rb
168
187
  - lib/liquid_diagrams/renderers/smcat_renderer.rb
169
188
  - lib/liquid_diagrams/renderers/svgbob_renderer.rb
170
189
  - lib/liquid_diagrams/renderers/syntrax_renderer.rb
171
190
  - lib/liquid_diagrams/renderers/vega_renderer.rb
191
+ - lib/liquid_diagrams/renderers/vegalite_renderer.rb
172
192
  - lib/liquid_diagrams/renderers/wavedrom_renderer.rb
173
193
  - lib/liquid_diagrams/rendering.rb
174
194
  - lib/liquid_diagrams/utils.rb
175
195
  - lib/liquid_diagrams/version.rb
176
196
  - spec/liquid_diagrams/basic_block_spec.rb
177
197
  - spec/liquid_diagrams/basic_renderer_spec.rb
198
+ - spec/liquid_diagrams/blocks_spec.rb
178
199
  - spec/liquid_diagrams/renderers/bitfield_renderer_spec.rb
179
200
  - spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb
180
201
  - spec/liquid_diagrams/renderers/erd_renderer_spec.rb
181
202
  - spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb
182
203
  - spec/liquid_diagrams/renderers/mermaid_renderer_spec.rb
204
+ - spec/liquid_diagrams/renderers/netlistsvg_renderer_spec.rb
183
205
  - spec/liquid_diagrams/renderers/nomnoml_renderer_spec.rb
184
206
  - spec/liquid_diagrams/renderers/plantuml_renderer_spec.rb
185
207
  - spec/liquid_diagrams/renderers/smcat_renderer_spec.rb
186
208
  - spec/liquid_diagrams/renderers/svgbob_renderer_spec.rb
187
209
  - spec/liquid_diagrams/renderers/syntrax_renderer_spec.rb
188
210
  - spec/liquid_diagrams/renderers/vega_renderer_spec.rb
211
+ - spec/liquid_diagrams/renderers/vegalite_renderer_spec.rb
189
212
  - spec/liquid_diagrams/renderers/wavedrom_renderer_spec.rb
190
213
  - spec/liquid_diagrams/rendering_spec.rb
191
214
  - spec/liquid_diagrams/utils_spec.rb
192
215
  - spec/liquid_diagrams_spec.rb
193
216
  - spec/spec_helper.rb
194
217
  - spec/support/shared_examples.rb
195
- - vendor/mermaid_puppeteer_config.json
196
218
  - vendor/plantuml.1.2020.1.jar
219
+ - vendor/puppeteer.json
197
220
  homepage: https://github.com/zhustec/liquid-diagrams
198
221
  licenses:
199
222
  - MIT
@@ -202,13 +225,22 @@ metadata:
202
225
  changelog_uri: https://github.com/zhustec/liquid-diagrams/releases
203
226
  source_code_uri: https://github.com/zhustec/liquid-diagrams
204
227
  bug_tracker_uri: https://github.com/zhustec/liquid-diagrams/issues
205
- post_install_message: "\n __________________________________________________________\n
206
- \ ..........................................................\n\n Thank you
207
- for installing liquid-diagrams.\n\n But it doesn't mean that you can use all
208
- diagrams for now,\n You still need to install some dependencies by your self.\n\n
209
- \ Please refer to the link below for more details:\n\n https://github.com/zhustec/liquid-diagrams#prerequisites\n\n
210
- \ ..........................................................\n __________________________________________________________\n
211
- \ "
228
+ post_install_message: |+
229
+ __________________________________________________________
230
+ ..........................................................
231
+
232
+ Thank you for installing liquid-diagrams.
233
+
234
+ But it doesn't mean that you can use all diagrams for now,
235
+ You still need to install some dependencies by your self.
236
+
237
+ Please refer to the link below for more details:
238
+
239
+ https://github.com/zhustec/liquid-diagrams#prerequisites
240
+
241
+ ..........................................................
242
+ __________________________________________________________
243
+
212
244
  rdoc_options: []
213
245
  require_paths:
214
246
  - lib
@@ -228,22 +260,41 @@ signing_key:
228
260
  specification_version: 4
229
261
  summary: Liquid plugins for diagrams support.
230
262
  test_files:
231
- - spec/liquid_diagrams/basic_block_spec.rb
263
+ - features/step_definitions/diagrams.rb
264
+ - features/support/env.rb
265
+ - features/diagrams/graphviz.feature
266
+ - features/diagrams/smcat.feature
267
+ - features/diagrams/netlistsvg.feature
268
+ - features/diagrams/plantuml.feature
269
+ - features/diagrams/bitfield.feature
270
+ - features/diagrams/wavedrom.feature
271
+ - features/diagrams/vega.feature
272
+ - features/diagrams/blockdiag.feature
273
+ - features/diagrams/erd.feature
274
+ - features/diagrams/nomnoml.feature
275
+ - features/diagrams/syntrax.feature
276
+ - features/diagrams/svgbob.feature
277
+ - features/diagrams/mermaid.feature
278
+ - features/diagrams/vegalite.feature
279
+ - spec/spec_helper.rb
280
+ - spec/support/shared_examples.rb
281
+ - spec/liquid_diagrams/rendering_spec.rb
232
282
  - spec/liquid_diagrams/basic_renderer_spec.rb
283
+ - spec/liquid_diagrams/basic_block_spec.rb
284
+ - spec/liquid_diagrams/blocks_spec.rb
285
+ - spec/liquid_diagrams/renderers/nomnoml_renderer_spec.rb
233
286
  - spec/liquid_diagrams/renderers/bitfield_renderer_spec.rb
234
- - spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb
235
- - spec/liquid_diagrams/renderers/erd_renderer_spec.rb
236
- - spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb
287
+ - spec/liquid_diagrams/renderers/vegalite_renderer_spec.rb
237
288
  - spec/liquid_diagrams/renderers/mermaid_renderer_spec.rb
238
- - spec/liquid_diagrams/renderers/nomnoml_renderer_spec.rb
239
289
  - spec/liquid_diagrams/renderers/plantuml_renderer_spec.rb
240
290
  - spec/liquid_diagrams/renderers/smcat_renderer_spec.rb
241
291
  - spec/liquid_diagrams/renderers/svgbob_renderer_spec.rb
242
- - spec/liquid_diagrams/renderers/syntrax_renderer_spec.rb
243
292
  - spec/liquid_diagrams/renderers/vega_renderer_spec.rb
293
+ - spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb
294
+ - spec/liquid_diagrams/renderers/netlistsvg_renderer_spec.rb
295
+ - spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb
296
+ - spec/liquid_diagrams/renderers/syntrax_renderer_spec.rb
244
297
  - spec/liquid_diagrams/renderers/wavedrom_renderer_spec.rb
245
- - spec/liquid_diagrams/rendering_spec.rb
298
+ - spec/liquid_diagrams/renderers/erd_renderer_spec.rb
246
299
  - spec/liquid_diagrams/utils_spec.rb
247
300
  - spec/liquid_diagrams_spec.rb
248
- - spec/spec_helper.rb
249
- - spec/support/shared_examples.rb