drawio_dsl 0.8.3 → 0.8.6
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.
- checksums.yaml +4 -4
- data/.builders/.data/shapes.json +27 -0
- data/.builders/.templates/basic/drawio_extensions.rb +2 -1
- data/.builders/.templates/basic/drawio_shapes.rb +1 -1
- data/.builders/blueprint/shapes.rb +3 -0
- data/.builders/generators/20-drawio-extensions.rb +1 -1
- data/.builders/generators/domain_diagram.rb +473 -0
- data/.builders/generators/parking-map.png +0 -0
- data/.builders/generators/parking_app.rb +110 -0
- data/.builders/generators/printspeak-architecture-generator.rb +45 -0
- data/.builders/generators/project-plan.rb +6 -5
- data/.builders/generators/sample_diagrams/20-styles.rb +2 -2
- data/.builders/generators/sample_diagrams/35-ids-and-arrows.rb +0 -2
- data/CHANGELOG.md +22 -0
- data/README.md +5 -3
- data/docs/domain-modal/domain_model.drawio +265 -0
- data/docs/domain-modal/domain_model.svg +3 -0
- data/docs/domain-modal/domain_model_custom.drawio +408 -0
- data/docs/domain-modal/domain_model_custom.svg +1 -0
- data/docs/domain-modal.md +9 -0
- data/docs/parking_app.drawio +25 -0
- data/docs/parking_app.svg +3 -0
- data/docs/printspeak-architecture-generator.drawio +31 -0
- data/docs/printspeak-architecture-generator.svg +3 -0
- data/docs/project-plan/project.drawio +60 -54
- data/docs/project-plan/project_done.svg +1 -1
- data/docs/project-plan/project_in_progress.svg +1 -1
- data/docs/project-plan/project_todo.svg +1 -1
- data/docs/samples/styles-glass.svg +1 -1
- data/docs/samples/styles-plain.svg +1 -1
- data/docs/samples/styles-rounded.svg +1 -1
- data/docs/samples/styles-shadow.svg +1 -1
- data/docs/samples/styles-sketch.svg +1 -1
- data/lib/drawio_dsl/configuration_shapes.rb +8 -2
- data/lib/drawio_dsl/dom_builder.rb +1 -1
- data/lib/drawio_dsl/dom_builder_shapes.rb +24 -6
- data/lib/drawio_dsl/drawio.rb +0 -19
- data/lib/drawio_dsl/drawio_extensions.rb +3 -2
- data/lib/drawio_dsl/drawio_extensions_active.rb +1 -1
- data/lib/drawio_dsl/drawio_page.rb +22 -0
- data/lib/drawio_dsl/drawio_shapes.rb +64 -46
- data/lib/drawio_dsl/formatters/base_formatter.rb +1 -1
- data/lib/drawio_dsl/formatters/html_builder.rb +1 -1
- data/lib/drawio_dsl/formatters/interface_formatter.rb +1 -1
- data/lib/drawio_dsl/formatters/klass_formatter.rb +1 -1
- data/lib/drawio_dsl/formatters/style_builder.rb +1 -1
- data/lib/drawio_dsl/schema/_.rb +4 -1
- data/lib/drawio_dsl/schema/shapes/database.rb +9 -0
- data/lib/drawio_dsl/schema/shapes/db_json.rb +9 -0
- data/lib/drawio_dsl/schema/shapes/group.rb +9 -0
- data/lib/drawio_dsl/schema/shapes/shape.rb +2 -2
- data/lib/drawio_dsl/version.rb +1 -1
- data/lib/drawio_dsl/xml_builder.rb +1 -1
- data/lib/drawio_dsl.rb +1 -0
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +19 -2
@@ -8,6 +8,7 @@ module DrawioDsl
|
|
8
8
|
ShapeDefaults = Struct.new(:type, :category, :x, :y, :w, :h, :style_modifiers, keyword_init: true)
|
9
9
|
Shapes = Struct.new(
|
10
10
|
:shape,
|
11
|
+
:line,
|
11
12
|
:h1,
|
12
13
|
:h2,
|
13
14
|
:h3,
|
@@ -29,9 +30,12 @@ module DrawioDsl
|
|
29
30
|
:container4,
|
30
31
|
:cross,
|
31
32
|
:envelop,
|
33
|
+
:database,
|
34
|
+
:db_json,
|
32
35
|
:diamond,
|
33
36
|
:document,
|
34
37
|
:ellipse,
|
38
|
+
:group,
|
35
39
|
:hexagon,
|
36
40
|
:interface,
|
37
41
|
:klass,
|
@@ -45,7 +49,6 @@ module DrawioDsl
|
|
45
49
|
:todo,
|
46
50
|
:face,
|
47
51
|
:triangle,
|
48
|
-
:line,
|
49
52
|
:embed_row,
|
50
53
|
:embed_col50,
|
51
54
|
:embed_col200,
|
@@ -55,6 +58,7 @@ module DrawioDsl
|
|
55
58
|
def add_shapes
|
56
59
|
@shapes = Shapes.new(
|
57
60
|
shape: ShapeDefaults.new(type: :shape, category: :element, x: 0, y: 0, w: 20, h: 20, style_modifiers: ''),
|
61
|
+
line: ShapeDefaults.new(type: :line, x: 0, category: :line, y: 0, w: 50, h: 50, style_modifiers: 'edgeStyle=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0'),
|
58
62
|
h1: ShapeDefaults.new(type: :h1, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=89;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
59
63
|
h2: ShapeDefaults.new(type: :h2, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=67;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
60
64
|
h3: ShapeDefaults.new(type: :h3, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=50;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
@@ -76,9 +80,12 @@ module DrawioDsl
|
|
76
80
|
container4: ShapeDefaults.new(type: :container4, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'swimlane;resizable=0'),
|
77
81
|
cross: ShapeDefaults.new(type: :cross, x: 0, category: :element, y: 0, w: 50, h: 50, style_modifiers: 'verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.x'),
|
78
82
|
envelop: ShapeDefaults.new(type: :envelop, x: 0, category: :element, y: 0, w: 160, h: 100, style_modifiers: 'shape=message'),
|
83
|
+
database: ShapeDefaults.new(type: :database, x: 0, category: :element, y: 0, w: 160, h: 80, style_modifiers: 'shape=mxgraph.flowchart.database;strokeWidth=1'),
|
84
|
+
db_json: ShapeDefaults.new(type: :db_json, x: 0, category: :element, y: 0, w: 160, h: 40, style_modifiers: 'shape=mxgraph.flowchart.database;strokeWidth=1'),
|
79
85
|
diamond: ShapeDefaults.new(type: :diamond, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'rhombus'),
|
80
86
|
document: ShapeDefaults.new(type: :document, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=mxgraph.basic.document'),
|
81
87
|
ellipse: ShapeDefaults.new(type: :ellipse, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'ellipse'),
|
88
|
+
group: ShapeDefaults.new(type: :group, x: 0, category: :element, y: 0, w: 210, h: 210, style_modifiers: 'fontSize=20;verticalAlign=top'),
|
82
89
|
hexagon: ShapeDefaults.new(type: :hexagon, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'shape=hexagon'),
|
83
90
|
interface: ShapeDefaults.new(type: :interface, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'align=left;overflow=fill;fontSize=12;fontFamily=Helvetica'),
|
84
91
|
klass: ShapeDefaults.new(type: :klass, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'align=left;overflow=fill;fontSize=12;fontFamily=Helvetica'),
|
@@ -92,7 +99,6 @@ module DrawioDsl
|
|
92
99
|
todo: ShapeDefaults.new(type: :todo, x: 0, category: :element, y: 0, w: 300, h: 60, style_modifiers: ''),
|
93
100
|
face: ShapeDefaults.new(type: :face, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.basic.smiley'),
|
94
101
|
triangle: ShapeDefaults.new(type: :triangle, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'triangle'),
|
95
|
-
line: ShapeDefaults.new(type: :line, x: 0, category: :line, y: 0, w: 50, h: 50, style_modifiers: 'edgeStyle=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0'),
|
96
102
|
embed_row: ShapeDefaults.new(type: :embed_row, x: 0, category: :element, y: 0, w: 200, h: 40, style_modifiers: 'shape=partialRectangle;collapsible=0;dropTarget=0;pointerEvents=0;top=0;left=0;bottom=1;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest'),
|
97
103
|
embed_col50: ShapeDefaults.new(type: :embed_col50, x: 0, category: :element, y: 0, w: 50, h: 40, style_modifiers: 'shape=partialRectangle;connectable=0;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden'),
|
98
104
|
embed_col200: ShapeDefaults.new(type: :embed_col200, x: 0, category: :element, y: 0, w: 150, h: 40, style_modifiers: 'shape=partialRectangle;connectable=0;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden')
|
@@ -4,6 +4,12 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# DrawioDsl is a DSL for draw-io diagrams.
|
6
6
|
module DomBuilderShapes
|
7
|
+
def add_line(id = nil, **opts, &block)
|
8
|
+
opts = { id: id }.merge(opts) if id
|
9
|
+
line = DrawioDsl::Schema::Line.new(current_page, **opts, &block)
|
10
|
+
add_shape(line)
|
11
|
+
end
|
12
|
+
|
7
13
|
def add_h1(id = nil, **opts, &block)
|
8
14
|
opts = { id: id }.merge(opts) if id
|
9
15
|
h1 = DrawioDsl::Schema::H1.new(current_page, **opts, &block)
|
@@ -130,6 +136,18 @@ module DrawioDsl
|
|
130
136
|
add_shape(envelop)
|
131
137
|
end
|
132
138
|
|
139
|
+
def add_database(id = nil, **opts, &block)
|
140
|
+
opts = { id: id }.merge(opts) if id
|
141
|
+
database = DrawioDsl::Schema::Database.new(current_page, **opts, &block)
|
142
|
+
add_shape(database)
|
143
|
+
end
|
144
|
+
|
145
|
+
def add_db_json(id = nil, **opts, &block)
|
146
|
+
opts = { id: id }.merge(opts) if id
|
147
|
+
db_json = DrawioDsl::Schema::DbJson.new(current_page, **opts, &block)
|
148
|
+
add_shape(db_json)
|
149
|
+
end
|
150
|
+
|
133
151
|
def add_diamond(id = nil, **opts, &block)
|
134
152
|
opts = { id: id }.merge(opts) if id
|
135
153
|
diamond = DrawioDsl::Schema::Diamond.new(current_page, **opts, &block)
|
@@ -148,6 +166,12 @@ module DrawioDsl
|
|
148
166
|
add_shape(ellipse)
|
149
167
|
end
|
150
168
|
|
169
|
+
def add_group(id = nil, **opts, &block)
|
170
|
+
opts = { id: id }.merge(opts) if id
|
171
|
+
group = DrawioDsl::Schema::Group.new(current_page, **opts, &block)
|
172
|
+
add_shape(group)
|
173
|
+
end
|
174
|
+
|
151
175
|
def add_hexagon(id = nil, **opts, &block)
|
152
176
|
opts = { id: id }.merge(opts) if id
|
153
177
|
hexagon = DrawioDsl::Schema::Hexagon.new(current_page, **opts, &block)
|
@@ -226,12 +250,6 @@ module DrawioDsl
|
|
226
250
|
add_shape(triangle)
|
227
251
|
end
|
228
252
|
|
229
|
-
def add_line(id = nil, **opts, &block)
|
230
|
-
opts = { id: id }.merge(opts) if id
|
231
|
-
line = DrawioDsl::Schema::Line.new(current_page, **opts, &block)
|
232
|
-
add_shape(line)
|
233
|
-
end
|
234
|
-
|
235
253
|
def add_embed_row(id = nil, **opts, &block)
|
236
254
|
opts = { id: id }.merge(opts) if id
|
237
255
|
embed_row = DrawioDsl::Schema::EmbedRow.new(current_page, **opts, &block)
|
data/lib/drawio_dsl/drawio.rb
CHANGED
@@ -67,23 +67,4 @@ module DrawioDsl
|
|
67
67
|
self
|
68
68
|
end
|
69
69
|
end
|
70
|
-
|
71
|
-
# DrawioDsl::DrawioPage is created when you call .page on the draw-io DSL.
|
72
|
-
class DrawioPage < KDirector::Directors::ChildDirector
|
73
|
-
include DrawioDsl::DrawioShapes
|
74
|
-
|
75
|
-
def initialize(parent, **opts)
|
76
|
-
super(parent, **opts)
|
77
|
-
|
78
|
-
builder.add_page(**opts)
|
79
|
-
end
|
80
|
-
|
81
|
-
def grid_layout(**opts)
|
82
|
-
builder.add_grid_layout(**opts)
|
83
|
-
end
|
84
|
-
|
85
|
-
def flex_layout(**opts)
|
86
|
-
builder.add_flex_layout(**opts)
|
87
|
-
end
|
88
|
-
end
|
89
70
|
end
|
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
module DrawioDsl
|
4
4
|
# :nocov:
|
5
|
-
|
6
|
-
|
5
|
+
# 1000's of extension shapes derived from Extensions.js that can be used via the add_shape method
|
6
|
+
class DrawioExtensions
|
7
|
+
include DrawioDsl::DrawioExtensionsActive
|
7
8
|
|
8
9
|
attr_reader :sections
|
9
10
|
attr_reader :current_section
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DrawioDsl
|
4
|
+
# DrawioDsl::DrawioPage is created when you call .page on the draw-io DSL.
|
5
|
+
class DrawioPage < KDirector::Directors::ChildDirector
|
6
|
+
include DrawioDsl::DrawioShapes
|
7
|
+
|
8
|
+
def initialize(parent, **opts)
|
9
|
+
super(parent, **opts)
|
10
|
+
|
11
|
+
builder.add_page(**opts)
|
12
|
+
end
|
13
|
+
|
14
|
+
def grid_layout(**opts)
|
15
|
+
builder.add_grid_layout(**opts)
|
16
|
+
end
|
17
|
+
|
18
|
+
def flex_layout(**opts)
|
19
|
+
builder.add_flex_layout(**opts)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -1,96 +1,106 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module DrawioDsl
|
4
|
-
#
|
4
|
+
# List of DSL methods for each common shape
|
5
5
|
# :nocov:
|
6
6
|
module DrawioShapes
|
7
7
|
def random(**opts)
|
8
|
-
case rand(
|
8
|
+
case rand(44)
|
9
9
|
when 0
|
10
|
-
|
10
|
+
line(**opts)
|
11
11
|
when 1
|
12
|
-
|
12
|
+
h1(**opts)
|
13
13
|
when 2
|
14
|
-
|
14
|
+
h2(**opts)
|
15
15
|
when 3
|
16
|
-
|
16
|
+
h3(**opts)
|
17
17
|
when 4
|
18
|
-
|
18
|
+
h4(**opts)
|
19
19
|
when 5
|
20
|
-
|
20
|
+
h5(**opts)
|
21
21
|
when 6
|
22
|
-
|
22
|
+
h6(**opts)
|
23
23
|
when 7
|
24
|
-
|
24
|
+
p(**opts)
|
25
25
|
when 8
|
26
|
-
|
26
|
+
actor(**opts)
|
27
27
|
when 9
|
28
|
-
|
28
|
+
actor2(**opts)
|
29
29
|
when 10
|
30
|
-
|
30
|
+
callout(**opts)
|
31
31
|
when 11
|
32
|
-
|
32
|
+
callout2(**opts)
|
33
33
|
when 12
|
34
|
-
|
34
|
+
callout3(**opts)
|
35
35
|
when 13
|
36
|
-
|
36
|
+
callout4(**opts)
|
37
37
|
when 14
|
38
|
-
|
38
|
+
circle(**opts)
|
39
39
|
when 15
|
40
|
-
|
40
|
+
cloud(**opts)
|
41
41
|
when 16
|
42
|
-
|
42
|
+
container(**opts)
|
43
43
|
when 17
|
44
|
-
|
44
|
+
container2(**opts)
|
45
45
|
when 18
|
46
|
-
|
46
|
+
container3(**opts)
|
47
47
|
when 19
|
48
|
-
|
48
|
+
container4(**opts)
|
49
49
|
when 20
|
50
|
-
|
50
|
+
cross(**opts)
|
51
51
|
when 21
|
52
|
-
|
52
|
+
envelop(**opts)
|
53
53
|
when 22
|
54
|
-
|
54
|
+
database(**opts)
|
55
55
|
when 23
|
56
|
-
|
56
|
+
db_json(**opts)
|
57
57
|
when 24
|
58
|
-
|
58
|
+
diamond(**opts)
|
59
59
|
when 25
|
60
|
-
|
60
|
+
document(**opts)
|
61
61
|
when 26
|
62
|
-
|
62
|
+
ellipse(**opts)
|
63
63
|
when 27
|
64
|
-
|
64
|
+
group(**opts)
|
65
65
|
when 28
|
66
|
-
|
66
|
+
hexagon(**opts)
|
67
67
|
when 29
|
68
|
-
|
68
|
+
interface(**opts)
|
69
69
|
when 30
|
70
|
-
|
70
|
+
klass(**opts)
|
71
71
|
when 31
|
72
|
-
|
72
|
+
note(**opts)
|
73
73
|
when 32
|
74
|
-
|
74
|
+
process(**opts)
|
75
75
|
when 33
|
76
|
-
|
76
|
+
rectangle(**opts)
|
77
77
|
when 34
|
78
|
-
|
78
|
+
rectangle2(**opts)
|
79
79
|
when 35
|
80
|
-
|
80
|
+
square(**opts)
|
81
81
|
when 36
|
82
|
-
|
82
|
+
step(**opts)
|
83
83
|
when 37
|
84
|
-
|
84
|
+
tick(**opts)
|
85
85
|
when 38
|
86
|
-
|
86
|
+
todo(**opts)
|
87
87
|
when 39
|
88
|
-
|
88
|
+
face(**opts)
|
89
89
|
when 40
|
90
|
+
triangle(**opts)
|
91
|
+
when 41
|
92
|
+
embed_row(**opts)
|
93
|
+
when 42
|
94
|
+
embed_col50(**opts)
|
95
|
+
when 43
|
90
96
|
embed_col200(**opts)
|
91
97
|
end
|
92
98
|
end
|
93
99
|
|
100
|
+
def line(id = nil, **opts, &block)
|
101
|
+
builder.add_line(id, **opts, &block)
|
102
|
+
end
|
103
|
+
|
94
104
|
def h1(id = nil, **opts, &block)
|
95
105
|
builder.add_h1(id, **opts, &block)
|
96
106
|
end
|
@@ -175,6 +185,14 @@ module DrawioDsl
|
|
175
185
|
builder.add_envelop(id, **opts, &block)
|
176
186
|
end
|
177
187
|
|
188
|
+
def database(id = nil, **opts, &block)
|
189
|
+
builder.add_database(id, **opts, &block)
|
190
|
+
end
|
191
|
+
|
192
|
+
def db_json(id = nil, **opts, &block)
|
193
|
+
builder.add_db_json(id, **opts, &block)
|
194
|
+
end
|
195
|
+
|
178
196
|
def diamond(id = nil, **opts, &block)
|
179
197
|
builder.add_diamond(id, **opts, &block)
|
180
198
|
end
|
@@ -187,6 +205,10 @@ module DrawioDsl
|
|
187
205
|
builder.add_ellipse(id, **opts, &block)
|
188
206
|
end
|
189
207
|
|
208
|
+
def group(id = nil, **opts, &block)
|
209
|
+
builder.add_group(id, **opts, &block)
|
210
|
+
end
|
211
|
+
|
190
212
|
def hexagon(id = nil, **opts, &block)
|
191
213
|
builder.add_hexagon(id, **opts, &block)
|
192
214
|
end
|
@@ -239,10 +261,6 @@ module DrawioDsl
|
|
239
261
|
builder.add_triangle(id, **opts, &block)
|
240
262
|
end
|
241
263
|
|
242
|
-
def line(id = nil, **opts, &block)
|
243
|
-
builder.add_line(id, **opts, &block)
|
244
|
-
end
|
245
|
-
|
246
264
|
def embed_row(id = nil, **opts, &block)
|
247
265
|
builder.add_embed_row(id, **opts, &block)
|
248
266
|
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# HTML formatters can be used on shapes to render HTML using a DSL
|
6
6
|
module Formatters
|
7
|
-
#
|
7
|
+
# HTML builder has methods for common HTML elements that get written sequentially
|
8
8
|
class HtmlBuilder
|
9
9
|
attr_reader :element_style_defaults
|
10
10
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# HTML formatters can be used on shapes to render HTML using a DSL
|
6
6
|
module Formatters
|
7
|
-
#
|
7
|
+
# Format the HTML to display an interface on a class diagram
|
8
8
|
class InterfaceFormatter < BaseFormatter
|
9
9
|
def initialize
|
10
10
|
super({ p: { margin: '0px', margin_left: '4px', margin_top: '4px' } })
|
@@ -4,7 +4,7 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# HTML formatters can be used on shapes to render HTML using a DSL
|
6
6
|
module Formatters
|
7
|
-
#
|
7
|
+
# Format the HTML to display an class on a class diagram
|
8
8
|
class KlassFormatter < BaseFormatter
|
9
9
|
def initialize
|
10
10
|
super({ p: { margin: '0px', margin_left: '4px', margin_top: '4px' } })
|
@@ -4,7 +4,7 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# HTML formatters can be used on shapes to render HTML using a DSL
|
6
6
|
module Formatters
|
7
|
-
#
|
7
|
+
# Build the style attribute for a HTML element
|
8
8
|
class StyleBuilder
|
9
9
|
MAPPINGS = {
|
10
10
|
margin: 'margin',
|
data/lib/drawio_dsl/schema/_.rb
CHANGED
@@ -12,6 +12,7 @@ require_relative 'layouts/flex_layout'
|
|
12
12
|
require_relative 'layouts/grid_layout'
|
13
13
|
|
14
14
|
require_relative 'shapes/shape'
|
15
|
+
require_relative 'shapes/line'
|
15
16
|
require_relative 'shapes/h1'
|
16
17
|
require_relative 'shapes/h2'
|
17
18
|
require_relative 'shapes/h3'
|
@@ -33,9 +34,12 @@ require_relative 'shapes/container3'
|
|
33
34
|
require_relative 'shapes/container4'
|
34
35
|
require_relative 'shapes/cross'
|
35
36
|
require_relative 'shapes/envelop'
|
37
|
+
require_relative 'shapes/database'
|
38
|
+
require_relative 'shapes/db_json'
|
36
39
|
require_relative 'shapes/diamond'
|
37
40
|
require_relative 'shapes/document'
|
38
41
|
require_relative 'shapes/ellipse'
|
42
|
+
require_relative 'shapes/group'
|
39
43
|
require_relative 'shapes/hexagon'
|
40
44
|
require_relative 'shapes/interface'
|
41
45
|
require_relative 'shapes/klass'
|
@@ -49,7 +53,6 @@ require_relative 'shapes/tick'
|
|
49
53
|
require_relative 'shapes/todo'
|
50
54
|
require_relative 'shapes/face'
|
51
55
|
require_relative 'shapes/triangle'
|
52
|
-
require_relative 'shapes/line'
|
53
56
|
require_relative 'shapes/embed_row'
|
54
57
|
require_relative 'shapes/embed_col50'
|
55
58
|
require_relative 'shapes/embed_col200'
|
@@ -119,8 +119,8 @@ module DrawioDsl
|
|
119
119
|
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
120
120
|
|
121
121
|
def as_xml(xml)
|
122
|
-
log.error category
|
123
|
-
log.error type
|
122
|
+
# log.error category
|
123
|
+
# log.error type
|
124
124
|
draw_element(xml) if category == :element
|
125
125
|
draw_line(xml) if category == :line
|
126
126
|
end
|
data/lib/drawio_dsl/version.rb
CHANGED
data/lib/drawio_dsl.rb
CHANGED
@@ -21,6 +21,7 @@ require_relative 'drawio_dsl/layout_engine'
|
|
21
21
|
require_relative 'drawio_dsl/drawio_shapes'
|
22
22
|
require_relative 'drawio_dsl/drawio_extensions_active'
|
23
23
|
require_relative 'drawio_dsl/drawio_extensions'
|
24
|
+
require_relative 'drawio_dsl/drawio_page'
|
24
25
|
require_relative 'drawio_dsl/drawio'
|
25
26
|
|
26
27
|
module DrawioDsl
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "drawio_dsl",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.6",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "drawio_dsl",
|
9
|
-
"version": "0.8.
|
9
|
+
"version": "0.8.6",
|
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
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.8.
|
4
|
+
version: 0.8.6
|
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-
|
11
|
+
date: 2022-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: k_config
|
@@ -88,6 +88,10 @@ files:
|
|
88
88
|
- ".builders/generators/02-generate-app.rb"
|
89
89
|
- ".builders/generators/10-transform-drawio-js.rb"
|
90
90
|
- ".builders/generators/20-drawio-extensions.rb"
|
91
|
+
- ".builders/generators/domain_diagram.rb"
|
92
|
+
- ".builders/generators/parking-map.png"
|
93
|
+
- ".builders/generators/parking_app.rb"
|
94
|
+
- ".builders/generators/printspeak-architecture-generator.rb"
|
91
95
|
- ".builders/generators/project-plan.rb"
|
92
96
|
- ".builders/generators/sample_diagrams/05-samples.rb"
|
93
97
|
- ".builders/generators/sample_diagrams/10-page-margin.rb"
|
@@ -111,6 +115,11 @@ files:
|
|
111
115
|
- Rakefile
|
112
116
|
- bin/console
|
113
117
|
- bin/setup
|
118
|
+
- docs/domain-modal.md
|
119
|
+
- docs/domain-modal/domain_model.drawio
|
120
|
+
- docs/domain-modal/domain_model.svg
|
121
|
+
- docs/domain-modal/domain_model_custom.drawio
|
122
|
+
- docs/domain-modal/domain_model_custom.svg
|
114
123
|
- docs/extensions.md
|
115
124
|
- docs/extensions/analyti_cs.svg
|
116
125
|
- docs/extensions/android_inputs.svg
|
@@ -265,6 +274,10 @@ files:
|
|
265
274
|
- docs/extensions/venn_gradient.svg
|
266
275
|
- docs/extensions/venn_plain.svg
|
267
276
|
- docs/extensions/vessels.svg
|
277
|
+
- docs/parking_app.drawio
|
278
|
+
- docs/parking_app.svg
|
279
|
+
- docs/printspeak-architecture-generator.drawio
|
280
|
+
- docs/printspeak-architecture-generator.svg
|
268
281
|
- docs/project-plan.md
|
269
282
|
- docs/project-plan/project.drawio
|
270
283
|
- docs/project-plan/project_done.svg
|
@@ -297,6 +310,7 @@ files:
|
|
297
310
|
- lib/drawio_dsl/drawio_extensions.json
|
298
311
|
- lib/drawio_dsl/drawio_extensions.rb
|
299
312
|
- lib/drawio_dsl/drawio_extensions_active.rb
|
313
|
+
- lib/drawio_dsl/drawio_page.rb
|
300
314
|
- lib/drawio_dsl/drawio_shapes.rb
|
301
315
|
- lib/drawio_dsl/formatters/_.rb
|
302
316
|
- lib/drawio_dsl/formatters/base_formatter.rb
|
@@ -329,6 +343,8 @@ files:
|
|
329
343
|
- lib/drawio_dsl/schema/shapes/container3.rb
|
330
344
|
- lib/drawio_dsl/schema/shapes/container4.rb
|
331
345
|
- lib/drawio_dsl/schema/shapes/cross.rb
|
346
|
+
- lib/drawio_dsl/schema/shapes/database.rb
|
347
|
+
- lib/drawio_dsl/schema/shapes/db_json.rb
|
332
348
|
- lib/drawio_dsl/schema/shapes/diamond.rb
|
333
349
|
- lib/drawio_dsl/schema/shapes/document.rb
|
334
350
|
- lib/drawio_dsl/schema/shapes/ellipse.rb
|
@@ -337,6 +353,7 @@ files:
|
|
337
353
|
- lib/drawio_dsl/schema/shapes/embed_row.rb
|
338
354
|
- lib/drawio_dsl/schema/shapes/envelop.rb
|
339
355
|
- lib/drawio_dsl/schema/shapes/face.rb
|
356
|
+
- lib/drawio_dsl/schema/shapes/group.rb
|
340
357
|
- lib/drawio_dsl/schema/shapes/h1.rb
|
341
358
|
- lib/drawio_dsl/schema/shapes/h2.rb
|
342
359
|
- lib/drawio_dsl/schema/shapes/h3.rb
|