drawio_dsl 0.11.1 → 0.11.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/config/configuration.json +157 -16
  4. data/docs/domain_model.drawio +89 -89
  5. data/docs/domain_model.json +267 -267
  6. data/docs/printspeak-architecture-controllers-custom.drawio +9 -9
  7. data/docs/printspeak-architecture-controllers.drawio +47 -47
  8. data/docs/printspeak-architecture-generator-custom.drawio +16 -10
  9. data/docs/printspeak-architecture-generator.drawio +268 -0
  10. data/docs/project-plan/project.drawio +92 -89
  11. data/docs/project-plan/project_done.svg +1 -1
  12. data/docs/project-plan/project_in_progress.svg +1 -1
  13. data/docs/project-plan/project_todo.svg +1 -1
  14. data/docs/tailwind_domain_model-custom.drawio +104 -0
  15. data/docs/tailwind_domain_model.json +288 -0
  16. data/docs/tailwind_domain_model.svg +3 -0
  17. data/lib/drawio_dsl/configuration.rb +36 -24
  18. data/lib/drawio_dsl/dom_builder_shapes.rb +78 -0
  19. data/lib/drawio_dsl/drawio_shapes.rb +121 -43
  20. data/lib/drawio_dsl/schema/_.rb +13 -0
  21. data/lib/drawio_dsl/schema/element.rb +4 -0
  22. data/lib/drawio_dsl/schema/line.rb +33 -3
  23. data/lib/drawio_dsl/schema/{texts/.rb → lines/dash.rb} +2 -2
  24. data/lib/drawio_dsl/schema/{elements/.rb → lines/dash24.rb} +2 -2
  25. data/lib/drawio_dsl/schema/lines/dash32.rb +9 -0
  26. data/lib/drawio_dsl/schema/lines/dash44.rb +9 -0
  27. data/lib/drawio_dsl/schema/lines/dash_dot.rb +9 -0
  28. data/lib/drawio_dsl/schema/lines/dash_dot_dot.rb +9 -0
  29. data/lib/drawio_dsl/schema/lines/dash_long_dash.rb +9 -0
  30. data/lib/drawio_dsl/schema/lines/{.rb → dot.rb} +2 -2
  31. data/lib/drawio_dsl/schema/lines/dot_dot_dot.rb +9 -0
  32. data/lib/drawio_dsl/schema/lines/double.rb +9 -0
  33. data/lib/drawio_dsl/schema/lines/double_dash.rb +9 -0
  34. data/lib/drawio_dsl/schema/lines/double_dot.rb +9 -0
  35. data/lib/drawio_dsl/schema/lines/long_dash.rb +9 -0
  36. data/lib/drawio_dsl/schema/shape.rb +6 -1
  37. data/lib/drawio_dsl/schema/text.rb +4 -0
  38. data/lib/drawio_dsl/version.rb +1 -1
  39. data/package-lock.json +2 -2
  40. data/package.json +1 -1
  41. metadata +19 -5
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DrawioDsl
4
+ module Schema
5
+ class Double < Line
6
+ configure_as(:double, design: :double)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DrawioDsl
4
+ module Schema
5
+ class DoubleDash < Line
6
+ configure_as(:double_dash, stroke: :dash, design: :double)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DrawioDsl
4
+ module Schema
5
+ class DoubleDot < Line
6
+ configure_as(:double_dot, stroke: :dot, design: :double)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DrawioDsl
4
+ module Schema
5
+ class LongDash < Line
6
+ configure_as(:long_dash, stroke: :long_dash)
7
+ end
8
+ end
9
+ end
@@ -60,7 +60,7 @@ module DrawioDsl
60
60
  end
61
61
 
62
62
  def shape_defaults
63
- @shape_defaults ||= self.class.shape_defaults.clone
63
+ @shape_defaults ||= self.class.shape_defaults || default_configuration
64
64
  end
65
65
 
66
66
  # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
@@ -100,6 +100,7 @@ module DrawioDsl
100
100
  key_values << "strokeColor=#{stroke_color}" if stroke_color
101
101
  key_values << "fontColor=#{font_color}" if font_color
102
102
  key_values << "gradient=#{gradient}" if gradient
103
+ key_values << base_modifiers unless base_modifiers.empty?
103
104
  key_values << style_modifiers unless style_modifiers.empty?
104
105
 
105
106
  key_values.join(';')
@@ -141,6 +142,10 @@ module DrawioDsl
141
142
  result
142
143
  end
143
144
 
145
+ def base_modifiers
146
+ @base_modifiers ||= ''
147
+ end
148
+
144
149
  def theme_palette
145
150
  @theme_palette ||= KConfig.configuration.drawio.theme.element(theme)
146
151
  end
@@ -18,6 +18,10 @@ module DrawioDsl
18
18
  @gradient = args[:gradient]
19
19
  @font_color = args[:font_color] || page.bg_theme_palette.font_color
20
20
  end
21
+
22
+ def default_configuration
23
+ KConfig.configuration.drawio.shape.default_text
24
+ end
21
25
  end
22
26
  end
23
27
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DrawioDsl
4
- VERSION = '0.11.1'
4
+ VERSION = '0.11.4'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "drawio_dsl",
3
- "version": "0.11.1",
3
+ "version": "0.11.4",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "drawio_dsl",
9
- "version": "0.11.1",
9
+ "version": "0.11.4",
10
10
  "devDependencies": {
11
11
  "@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
12
12
  "@semantic-release/changelog": "^6.0.1",
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drawio_dsl",
3
- "version": "0.11.1",
3
+ "version": "0.11.4",
4
4
  "description": "DrawIO DSL can build DrawIO diagrams using a Domain Specific Language",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drawio_dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-25 00:00:00.000000000 Z
11
+ date: 2022-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_config
@@ -257,6 +257,7 @@ files:
257
257
  - docs/printspeak-architecture-controllers.drawio
258
258
  - docs/printspeak-architecture-generator-custom.drawio
259
259
  - docs/printspeak-architecture-generator-custom.png
260
+ - docs/printspeak-architecture-generator.drawio
260
261
  - docs/printspeak-architecture-generator.svg
261
262
  - docs/project-plan.md
262
263
  - docs/project-plan/project.drawio
@@ -279,6 +280,9 @@ files:
279
280
  - docs/samples/themes-random.svg
280
281
  - docs/samples/themes-square.svg
281
282
  - docs/samples/willoughby-council.svg
283
+ - docs/tailwind_domain_model-custom.drawio
284
+ - docs/tailwind_domain_model.json
285
+ - docs/tailwind_domain_model.svg
282
286
  - lib/drawio_dsl.rb
283
287
  - lib/drawio_dsl/configuration.rb
284
288
  - lib/drawio_dsl/configuration_extension.rb
@@ -303,7 +307,6 @@ files:
303
307
  - lib/drawio_dsl/schema/default_palette.rb
304
308
  - lib/drawio_dsl/schema/diagram.rb
305
309
  - lib/drawio_dsl/schema/element.rb
306
- - lib/drawio_dsl/schema/elements/.rb
307
310
  - lib/drawio_dsl/schema/elements/actor.rb
308
311
  - lib/drawio_dsl/schema/elements/actor2.rb
309
312
  - lib/drawio_dsl/schema/elements/callout.rb
@@ -344,14 +347,25 @@ files:
344
347
  - lib/drawio_dsl/schema/layouts/grid_layout.rb
345
348
  - lib/drawio_dsl/schema/layouts/layout.rb
346
349
  - lib/drawio_dsl/schema/line.rb
347
- - lib/drawio_dsl/schema/lines/.rb
350
+ - lib/drawio_dsl/schema/lines/dash.rb
351
+ - lib/drawio_dsl/schema/lines/dash24.rb
352
+ - lib/drawio_dsl/schema/lines/dash32.rb
353
+ - lib/drawio_dsl/schema/lines/dash44.rb
354
+ - lib/drawio_dsl/schema/lines/dash_dot.rb
355
+ - lib/drawio_dsl/schema/lines/dash_dot_dot.rb
356
+ - lib/drawio_dsl/schema/lines/dash_long_dash.rb
357
+ - lib/drawio_dsl/schema/lines/dot.rb
358
+ - lib/drawio_dsl/schema/lines/dot_dot_dot.rb
359
+ - lib/drawio_dsl/schema/lines/double.rb
360
+ - lib/drawio_dsl/schema/lines/double_dash.rb
361
+ - lib/drawio_dsl/schema/lines/double_dot.rb
362
+ - lib/drawio_dsl/schema/lines/long_dash.rb
348
363
  - lib/drawio_dsl/schema/lines/solid.rb
349
364
  - lib/drawio_dsl/schema/node.rb
350
365
  - lib/drawio_dsl/schema/node_list.rb
351
366
  - lib/drawio_dsl/schema/page.rb
352
367
  - lib/drawio_dsl/schema/shape.rb
353
368
  - lib/drawio_dsl/schema/text.rb
354
- - lib/drawio_dsl/schema/texts/.rb
355
369
  - lib/drawio_dsl/schema/texts/h1.rb
356
370
  - lib/drawio_dsl/schema/texts/h2.rb
357
371
  - lib/drawio_dsl/schema/texts/h3.rb