drawio_dsl 0.4.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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