drawio_dsl 0.4.1 → 0.5.2

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/.data/shapes.json +168 -8
  3. data/.builders/.templates/basic/configuration_shapes.rb +27 -0
  4. data/.builders/.templates/basic/dom_builder_shapes.rb +16 -0
  5. data/.builders/.templates/basic/drawio_shapes.rb +23 -0
  6. data/.builders/.templates/basic/schema_shape.rb +9 -0
  7. data/.builders/.templates/{schema_shape_spec.rb → basic/schema_shape_spec.rb} +2 -2
  8. data/.builders/blueprint/shapes.rb +37 -12
  9. data/.builders/boot.rb +1 -0
  10. data/.builders/generators/02-generate-app.rb +43 -0
  11. data/.builders/generators/sample_diagrams/25-themes.rb +2 -2
  12. data/.builders/generators/sample_diagrams/30-shapes.rb +23 -0
  13. data/.builders/generators/sample_diagrams/50-willoughby-council.rb +38 -0
  14. data/.rubocop.yml +22 -3
  15. data/CHANGELOG.md +23 -0
  16. data/README.md +4 -0
  17. data/lib/drawio_dsl/configuration.rb +5 -101
  18. data/lib/drawio_dsl/configuration_extension.rb +13 -0
  19. data/lib/drawio_dsl/configuration_shapes.rb +83 -0
  20. data/lib/drawio_dsl/configuration_themes.rb +63 -0
  21. data/lib/drawio_dsl/dom_builder.rb +9 -55
  22. data/lib/drawio_dsl/dom_builder_shapes.rb +158 -0
  23. data/lib/drawio_dsl/drawio.rb +1 -91
  24. data/lib/drawio_dsl/drawio_shapes.rb +193 -0
  25. data/lib/drawio_dsl/layout_engine.rb +1 -8
  26. data/lib/drawio_dsl/schema/_.rb +21 -0
  27. data/lib/drawio_dsl/schema/layouts/grid_layout.rb +17 -10
  28. data/lib/drawio_dsl/schema/node_list.rb +37 -0
  29. data/lib/drawio_dsl/schema/page.rb +5 -5
  30. data/{.builders/.templates/schema_shape.rb → lib/drawio_dsl/schema/shapes/actor.rb} +2 -2
  31. data/lib/drawio_dsl/schema/shapes/actor2.rb +9 -0
  32. data/lib/drawio_dsl/schema/shapes/callout2.rb +9 -0
  33. data/lib/drawio_dsl/schema/shapes/callout3.rb +9 -0
  34. data/lib/drawio_dsl/schema/shapes/callout4.rb +9 -0
  35. data/lib/drawio_dsl/schema/shapes/container.rb +9 -0
  36. data/lib/drawio_dsl/schema/shapes/container2.rb +9 -0
  37. data/lib/drawio_dsl/schema/shapes/container3.rb +9 -0
  38. data/lib/drawio_dsl/schema/shapes/container4.rb +9 -0
  39. data/lib/drawio_dsl/schema/shapes/cross.rb +9 -0
  40. data/lib/drawio_dsl/schema/shapes/document.rb +9 -0
  41. data/lib/drawio_dsl/schema/shapes/embed_col200.rb +9 -0
  42. data/lib/drawio_dsl/schema/shapes/embed_col50.rb +9 -0
  43. data/lib/drawio_dsl/schema/shapes/embed_row.rb +9 -0
  44. data/lib/drawio_dsl/schema/shapes/envelop.rb +9 -0
  45. data/lib/drawio_dsl/schema/shapes/face.rb +9 -0
  46. data/lib/drawio_dsl/schema/shapes/rectangle2.rb +9 -0
  47. data/lib/drawio_dsl/schema/shapes/shape.rb +10 -6
  48. data/lib/drawio_dsl/schema/shapes/step.rb +9 -0
  49. data/lib/drawio_dsl/schema/shapes/tick.rb +9 -0
  50. data/lib/drawio_dsl/schema/shapes/triangle.rb +9 -0
  51. data/lib/drawio_dsl/version.rb +1 -1
  52. data/lib/drawio_dsl/xml_builder.rb +2 -12
  53. data/lib/drawio_dsl.rb +5 -0
  54. data/package-lock.json +2 -2
  55. data/package.json +1 -1
  56. metadata +36 -5
  57. data/.builders/generators/90-requires.rb +0 -35
@@ -52,23 +52,13 @@ module DrawioDsl
52
52
  xml.root do
53
53
  xml.mxCell(id: "#{page.id}-A")
54
54
  xml.mxCell(id: "#{page.id}-B", parent: "#{page.id}-A")
55
- page.nodes.each do |node|
56
- build_shape(xml, node) if node.classification == :shape
55
+ page.nodes.all.each do |node|
56
+ node.as_xml(xml) if node.classification == :shape
57
57
  end
58
58
  end
59
59
  end
60
60
  end
61
61
  end
62
62
  # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Metrics/BlockLength
63
-
64
- def build_shape(xml, shape)
65
- # puts "opts: #{opts}"
66
- # puts shape.x
67
- # puts shape.y
68
-
69
- xml.mxCell(id: shape.id, value: shape.title, style: shape.style, vertex: 1, parent: "#{shape.page.id}-B") do
70
- xml.mxGeometry(x: shape.x, y: shape.y, width: shape.w, height: shape.h, as: 'geometry')
71
- end
72
- end
73
63
  end
74
64
  end
data/lib/drawio_dsl.rb CHANGED
@@ -7,12 +7,17 @@ require 'k_config'
7
7
  require 'k_log'
8
8
  require 'k_director'
9
9
 
10
+ require_relative 'drawio_dsl/configuration_extension'
11
+ require_relative 'drawio_dsl/configuration_shapes'
12
+ require_relative 'drawio_dsl/configuration_themes'
10
13
  require_relative 'drawio_dsl/configuration'
11
14
  require_relative 'drawio_dsl/version'
12
15
  require_relative 'drawio_dsl/schema/_'
16
+ require_relative 'drawio_dsl/dom_builder_shapes'
13
17
  require_relative 'drawio_dsl/dom_builder'
14
18
  require_relative 'drawio_dsl/xml_builder'
15
19
  require_relative 'drawio_dsl/layout_engine'
20
+ require_relative 'drawio_dsl/drawio_shapes'
16
21
  require_relative 'drawio_dsl/drawio'
17
22
 
18
23
  module DrawioDsl
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "drawio_dsl",
3
- "version": "0.4.1",
3
+ "version": "0.5.2",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "drawio_dsl",
9
- "version": "0.4.1",
9
+ "version": "0.5.2",
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.4.1",
3
+ "version": "0.5.2",
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.4.1
4
+ version: 0.5.2
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-06 00:00:00.000000000 Z
11
+ date: 2022-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_config
@@ -74,19 +74,24 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - ".builders/.data/shapes.json"
77
+ - ".builders/.templates/basic/configuration_shapes.rb"
78
+ - ".builders/.templates/basic/dom_builder_shapes.rb"
79
+ - ".builders/.templates/basic/drawio_shapes.rb"
77
80
  - ".builders/.templates/basic/schema_require.rb"
78
- - ".builders/.templates/schema_shape.rb"
79
- - ".builders/.templates/schema_shape_spec.rb"
81
+ - ".builders/.templates/basic/schema_shape.rb"
82
+ - ".builders/.templates/basic/schema_shape_spec.rb"
80
83
  - ".builders/_.rb"
81
84
  - ".builders/blueprint/shapes.rb"
82
85
  - ".builders/boot.rb"
83
86
  - ".builders/generators/01-bootstrap.rb"
84
- - ".builders/generators/90-requires.rb"
87
+ - ".builders/generators/02-generate-app.rb"
85
88
  - ".builders/generators/sample_diagrams/10-page-margin.rb"
86
89
  - ".builders/generators/sample_diagrams/15-grid-direction.rb"
87
90
  - ".builders/generators/sample_diagrams/16-grid-alignment.rb"
88
91
  - ".builders/generators/sample_diagrams/20-styles.rb"
89
92
  - ".builders/generators/sample_diagrams/25-themes.rb"
93
+ - ".builders/generators/sample_diagrams/30-shapes.rb"
94
+ - ".builders/generators/sample_diagrams/50-willoughby-council.rb"
90
95
  - ".releaserc.json"
91
96
  - ".rspec"
92
97
  - ".rubocop.yml"
@@ -102,8 +107,13 @@ files:
102
107
  - bin/setup
103
108
  - lib/drawio_dsl.rb
104
109
  - lib/drawio_dsl/configuration.rb
110
+ - lib/drawio_dsl/configuration_extension.rb
111
+ - lib/drawio_dsl/configuration_shapes.rb
112
+ - lib/drawio_dsl/configuration_themes.rb
105
113
  - lib/drawio_dsl/dom_builder.rb
114
+ - lib/drawio_dsl/dom_builder_shapes.rb
106
115
  - lib/drawio_dsl/drawio.rb
116
+ - lib/drawio_dsl/drawio_shapes.rb
107
117
  - lib/drawio_dsl/layout_engine.rb
108
118
  - lib/drawio_dsl/schema/_.rb
109
119
  - lib/drawio_dsl/schema/common_style.rb
@@ -113,18 +123,39 @@ files:
113
123
  - lib/drawio_dsl/schema/layouts/grid_layout.rb
114
124
  - lib/drawio_dsl/schema/layouts/layout.rb
115
125
  - lib/drawio_dsl/schema/node.rb
126
+ - lib/drawio_dsl/schema/node_list.rb
116
127
  - lib/drawio_dsl/schema/page.rb
128
+ - lib/drawio_dsl/schema/shapes/actor.rb
129
+ - lib/drawio_dsl/schema/shapes/actor2.rb
117
130
  - lib/drawio_dsl/schema/shapes/callout.rb
131
+ - lib/drawio_dsl/schema/shapes/callout2.rb
132
+ - lib/drawio_dsl/schema/shapes/callout3.rb
133
+ - lib/drawio_dsl/schema/shapes/callout4.rb
118
134
  - lib/drawio_dsl/schema/shapes/circle.rb
119
135
  - lib/drawio_dsl/schema/shapes/cloud.rb
136
+ - lib/drawio_dsl/schema/shapes/container.rb
137
+ - lib/drawio_dsl/schema/shapes/container2.rb
138
+ - lib/drawio_dsl/schema/shapes/container3.rb
139
+ - lib/drawio_dsl/schema/shapes/container4.rb
140
+ - lib/drawio_dsl/schema/shapes/cross.rb
120
141
  - lib/drawio_dsl/schema/shapes/diamond.rb
142
+ - lib/drawio_dsl/schema/shapes/document.rb
121
143
  - lib/drawio_dsl/schema/shapes/ellipse.rb
144
+ - lib/drawio_dsl/schema/shapes/embed_col200.rb
145
+ - lib/drawio_dsl/schema/shapes/embed_col50.rb
146
+ - lib/drawio_dsl/schema/shapes/embed_row.rb
147
+ - lib/drawio_dsl/schema/shapes/envelop.rb
148
+ - lib/drawio_dsl/schema/shapes/face.rb
122
149
  - lib/drawio_dsl/schema/shapes/hexagon.rb
123
150
  - lib/drawio_dsl/schema/shapes/note.rb
124
151
  - lib/drawio_dsl/schema/shapes/process.rb
125
152
  - lib/drawio_dsl/schema/shapes/rectangle.rb
153
+ - lib/drawio_dsl/schema/shapes/rectangle2.rb
126
154
  - lib/drawio_dsl/schema/shapes/shape.rb
127
155
  - lib/drawio_dsl/schema/shapes/square.rb
156
+ - lib/drawio_dsl/schema/shapes/step.rb
157
+ - lib/drawio_dsl/schema/shapes/tick.rb
158
+ - lib/drawio_dsl/schema/shapes/triangle.rb
128
159
  - lib/drawio_dsl/version.rb
129
160
  - lib/drawio_dsl/xml_builder.rb
130
161
  - package-lock.json
@@ -1,35 +0,0 @@
1
- KManager.action :requires do
2
- # NOT yet working on file change
3
- # depend_on(:domain_shapes_kdoc)
4
-
5
- # init do
6
- # # context.shapes = import_data(:domain_shapes_kdoc, as: :ostruct)
7
- # end
8
-
9
- action do
10
- shapes_file = k_builder.target_folders.get_filename(:data, 'shapes.json')
11
- shapes = JSON.parse(File.read(shapes_file))
12
- puts 'david'
13
- KDirector::Dsls::BasicDsl
14
- .init(k_builder,
15
- on_exist: :write, # %i[skip write compare]
16
- on_action: :execute # %i[queue execute]
17
- )
18
- .blueprint(
19
- active: true,
20
- name: :bin_hook,
21
- description: 'initialize repository',
22
- on_exist: :write) do
23
-
24
- cd(:lib)
25
-
26
- add('schema/_.rb.txt', template_file: 'schema_require.rb', shapes: shapes)
27
- end
28
-
29
-
30
- # # director.play_actions
31
- # director.builder.debug
32
- # director.debug
33
- # director.k_builder.debug
34
- end
35
- end