drawio_dsl 0.6.0 → 0.7.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.
- checksums.yaml +4 -4
- data/.builders/.data/shapes.json +44 -26
- data/.builders/.templates/basic/dom_builder_shapes.rb +2 -2
- data/.builders/.templates/basic/drawio_shapes.rb +2 -2
- data/.builders/blueprint/shapes.rb +6 -4
- data/.builders/generators/project_plans/drawio_dsl.rb +3 -1
- data/.builders/generators/sample_diagrams/30-html-shapes.rb +68 -0
- data/CHANGELOG.md +13 -0
- data/docs/project_in_progress.svg +1 -1
- data/docs/project_todo.svg +1 -1
- data/lib/drawio_dsl/configuration_shapes.rb +12 -8
- data/lib/drawio_dsl/dom_builder_shapes.rb +92 -82
- data/lib/drawio_dsl/drawio_shapes.rb +108 -96
- data/lib/drawio_dsl/formatters/_.rb +8 -0
- data/lib/drawio_dsl/formatters/base_formatter.rb +24 -0
- data/lib/drawio_dsl/formatters/factory.rb +32 -0
- data/lib/drawio_dsl/formatters/html_builder.rb +84 -0
- data/lib/drawio_dsl/formatters/interface_formatter.rb +53 -0
- data/lib/drawio_dsl/formatters/klass_formatter.rb +52 -0
- data/lib/drawio_dsl/formatters/style_builder.rb +63 -0
- data/lib/drawio_dsl/schema/_.rb +6 -4
- data/lib/drawio_dsl/schema/shapes/interface.rb +9 -0
- data/lib/drawio_dsl/schema/shapes/klass.rb +9 -0
- data/lib/drawio_dsl/schema/shapes/shape.rb +9 -2
- data/lib/drawio_dsl/version.rb +1 -1
- data/lib/drawio_dsl.rb +1 -0
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +12 -2
@@ -4,188 +4,198 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# DrawioDsl is a DSL for draw-io diagrams.
|
6
6
|
module DomBuilderShapes
|
7
|
-
def add_h1(**opts)
|
8
|
-
h1 = DrawioDsl::Schema::H1.new(current_page, **opts)
|
7
|
+
def add_h1(**opts, &block)
|
8
|
+
h1 = DrawioDsl::Schema::H1.new(current_page, **opts, &block)
|
9
9
|
add_shape(h1)
|
10
10
|
end
|
11
11
|
|
12
|
-
def add_h2(**opts)
|
13
|
-
h2 = DrawioDsl::Schema::H2.new(current_page, **opts)
|
12
|
+
def add_h2(**opts, &block)
|
13
|
+
h2 = DrawioDsl::Schema::H2.new(current_page, **opts, &block)
|
14
14
|
add_shape(h2)
|
15
15
|
end
|
16
16
|
|
17
|
-
def add_h3(**opts)
|
18
|
-
h3 = DrawioDsl::Schema::H3.new(current_page, **opts)
|
17
|
+
def add_h3(**opts, &block)
|
18
|
+
h3 = DrawioDsl::Schema::H3.new(current_page, **opts, &block)
|
19
19
|
add_shape(h3)
|
20
20
|
end
|
21
21
|
|
22
|
-
def add_h4(**opts)
|
23
|
-
h4 = DrawioDsl::Schema::H4.new(current_page, **opts)
|
22
|
+
def add_h4(**opts, &block)
|
23
|
+
h4 = DrawioDsl::Schema::H4.new(current_page, **opts, &block)
|
24
24
|
add_shape(h4)
|
25
25
|
end
|
26
26
|
|
27
|
-
def add_h5(**opts)
|
28
|
-
h5 = DrawioDsl::Schema::H5.new(current_page, **opts)
|
27
|
+
def add_h5(**opts, &block)
|
28
|
+
h5 = DrawioDsl::Schema::H5.new(current_page, **opts, &block)
|
29
29
|
add_shape(h5)
|
30
30
|
end
|
31
31
|
|
32
|
-
def add_h6(**opts)
|
33
|
-
h6 = DrawioDsl::Schema::H6.new(current_page, **opts)
|
32
|
+
def add_h6(**opts, &block)
|
33
|
+
h6 = DrawioDsl::Schema::H6.new(current_page, **opts, &block)
|
34
34
|
add_shape(h6)
|
35
35
|
end
|
36
36
|
|
37
|
-
def add_p(**opts)
|
38
|
-
p = DrawioDsl::Schema::P.new(current_page, **opts)
|
37
|
+
def add_p(**opts, &block)
|
38
|
+
p = DrawioDsl::Schema::P.new(current_page, **opts, &block)
|
39
39
|
add_shape(p)
|
40
40
|
end
|
41
41
|
|
42
|
-
def add_actor(**opts)
|
43
|
-
actor = DrawioDsl::Schema::Actor.new(current_page, **opts)
|
42
|
+
def add_actor(**opts, &block)
|
43
|
+
actor = DrawioDsl::Schema::Actor.new(current_page, **opts, &block)
|
44
44
|
add_shape(actor)
|
45
45
|
end
|
46
46
|
|
47
|
-
def add_actor2(**opts)
|
48
|
-
actor2 = DrawioDsl::Schema::Actor2.new(current_page, **opts)
|
47
|
+
def add_actor2(**opts, &block)
|
48
|
+
actor2 = DrawioDsl::Schema::Actor2.new(current_page, **opts, &block)
|
49
49
|
add_shape(actor2)
|
50
50
|
end
|
51
51
|
|
52
|
-
def add_callout(**opts)
|
53
|
-
callout = DrawioDsl::Schema::Callout.new(current_page, **opts)
|
52
|
+
def add_callout(**opts, &block)
|
53
|
+
callout = DrawioDsl::Schema::Callout.new(current_page, **opts, &block)
|
54
54
|
add_shape(callout)
|
55
55
|
end
|
56
56
|
|
57
|
-
def add_callout2(**opts)
|
58
|
-
callout2 = DrawioDsl::Schema::Callout2.new(current_page, **opts)
|
57
|
+
def add_callout2(**opts, &block)
|
58
|
+
callout2 = DrawioDsl::Schema::Callout2.new(current_page, **opts, &block)
|
59
59
|
add_shape(callout2)
|
60
60
|
end
|
61
61
|
|
62
|
-
def add_callout3(**opts)
|
63
|
-
callout3 = DrawioDsl::Schema::Callout3.new(current_page, **opts)
|
62
|
+
def add_callout3(**opts, &block)
|
63
|
+
callout3 = DrawioDsl::Schema::Callout3.new(current_page, **opts, &block)
|
64
64
|
add_shape(callout3)
|
65
65
|
end
|
66
66
|
|
67
|
-
def add_callout4(**opts)
|
68
|
-
callout4 = DrawioDsl::Schema::Callout4.new(current_page, **opts)
|
67
|
+
def add_callout4(**opts, &block)
|
68
|
+
callout4 = DrawioDsl::Schema::Callout4.new(current_page, **opts, &block)
|
69
69
|
add_shape(callout4)
|
70
70
|
end
|
71
71
|
|
72
|
-
def add_circle(**opts)
|
73
|
-
circle = DrawioDsl::Schema::Circle.new(current_page, **opts)
|
72
|
+
def add_circle(**opts, &block)
|
73
|
+
circle = DrawioDsl::Schema::Circle.new(current_page, **opts, &block)
|
74
74
|
add_shape(circle)
|
75
75
|
end
|
76
76
|
|
77
|
-
def add_cloud(**opts)
|
78
|
-
cloud = DrawioDsl::Schema::Cloud.new(current_page, **opts)
|
77
|
+
def add_cloud(**opts, &block)
|
78
|
+
cloud = DrawioDsl::Schema::Cloud.new(current_page, **opts, &block)
|
79
79
|
add_shape(cloud)
|
80
80
|
end
|
81
81
|
|
82
|
-
def
|
83
|
-
|
82
|
+
def add_container(**opts, &block)
|
83
|
+
container = DrawioDsl::Schema::Container.new(current_page, **opts, &block)
|
84
|
+
add_shape(container)
|
85
|
+
end
|
86
|
+
|
87
|
+
def add_container2(**opts, &block)
|
88
|
+
container2 = DrawioDsl::Schema::Container2.new(current_page, **opts, &block)
|
89
|
+
add_shape(container2)
|
90
|
+
end
|
91
|
+
|
92
|
+
def add_container3(**opts, &block)
|
93
|
+
container3 = DrawioDsl::Schema::Container3.new(current_page, **opts, &block)
|
94
|
+
add_shape(container3)
|
95
|
+
end
|
96
|
+
|
97
|
+
def add_container4(**opts, &block)
|
98
|
+
container4 = DrawioDsl::Schema::Container4.new(current_page, **opts, &block)
|
99
|
+
add_shape(container4)
|
100
|
+
end
|
101
|
+
|
102
|
+
def add_cross(**opts, &block)
|
103
|
+
cross = DrawioDsl::Schema::Cross.new(current_page, **opts, &block)
|
84
104
|
add_shape(cross)
|
85
105
|
end
|
86
106
|
|
87
|
-
def add_envelop(**opts)
|
88
|
-
envelop = DrawioDsl::Schema::Envelop.new(current_page, **opts)
|
107
|
+
def add_envelop(**opts, &block)
|
108
|
+
envelop = DrawioDsl::Schema::Envelop.new(current_page, **opts, &block)
|
89
109
|
add_shape(envelop)
|
90
110
|
end
|
91
111
|
|
92
|
-
def add_diamond(**opts)
|
93
|
-
diamond = DrawioDsl::Schema::Diamond.new(current_page, **opts)
|
112
|
+
def add_diamond(**opts, &block)
|
113
|
+
diamond = DrawioDsl::Schema::Diamond.new(current_page, **opts, &block)
|
94
114
|
add_shape(diamond)
|
95
115
|
end
|
96
116
|
|
97
|
-
def add_document(**opts)
|
98
|
-
document = DrawioDsl::Schema::Document.new(current_page, **opts)
|
117
|
+
def add_document(**opts, &block)
|
118
|
+
document = DrawioDsl::Schema::Document.new(current_page, **opts, &block)
|
99
119
|
add_shape(document)
|
100
120
|
end
|
101
121
|
|
102
|
-
def add_ellipse(**opts)
|
103
|
-
ellipse = DrawioDsl::Schema::Ellipse.new(current_page, **opts)
|
122
|
+
def add_ellipse(**opts, &block)
|
123
|
+
ellipse = DrawioDsl::Schema::Ellipse.new(current_page, **opts, &block)
|
104
124
|
add_shape(ellipse)
|
105
125
|
end
|
106
126
|
|
107
|
-
def add_hexagon(**opts)
|
108
|
-
hexagon = DrawioDsl::Schema::Hexagon.new(current_page, **opts)
|
127
|
+
def add_hexagon(**opts, &block)
|
128
|
+
hexagon = DrawioDsl::Schema::Hexagon.new(current_page, **opts, &block)
|
109
129
|
add_shape(hexagon)
|
110
130
|
end
|
111
131
|
|
112
|
-
def
|
113
|
-
|
114
|
-
add_shape(
|
115
|
-
end
|
116
|
-
|
117
|
-
def add_container2(**opts)
|
118
|
-
container2 = DrawioDsl::Schema::Container2.new(current_page, **opts)
|
119
|
-
add_shape(container2)
|
132
|
+
def add_interface(**opts, &block)
|
133
|
+
interface = DrawioDsl::Schema::Interface.new(current_page, **opts, &block)
|
134
|
+
add_shape(interface)
|
120
135
|
end
|
121
136
|
|
122
|
-
def
|
123
|
-
|
124
|
-
add_shape(
|
125
|
-
end
|
126
|
-
|
127
|
-
def add_container4(**opts)
|
128
|
-
container4 = DrawioDsl::Schema::Container4.new(current_page, **opts)
|
129
|
-
add_shape(container4)
|
137
|
+
def add_klass(**opts, &block)
|
138
|
+
klass = DrawioDsl::Schema::Klass.new(current_page, **opts, &block)
|
139
|
+
add_shape(klass)
|
130
140
|
end
|
131
141
|
|
132
|
-
def add_note(**opts)
|
133
|
-
note = DrawioDsl::Schema::Note.new(current_page, **opts)
|
142
|
+
def add_note(**opts, &block)
|
143
|
+
note = DrawioDsl::Schema::Note.new(current_page, **opts, &block)
|
134
144
|
add_shape(note)
|
135
145
|
end
|
136
146
|
|
137
|
-
def add_process(**opts)
|
138
|
-
process = DrawioDsl::Schema::Process.new(current_page, **opts)
|
147
|
+
def add_process(**opts, &block)
|
148
|
+
process = DrawioDsl::Schema::Process.new(current_page, **opts, &block)
|
139
149
|
add_shape(process)
|
140
150
|
end
|
141
151
|
|
142
|
-
def add_rectangle(**opts)
|
143
|
-
rectangle = DrawioDsl::Schema::Rectangle.new(current_page, **opts)
|
152
|
+
def add_rectangle(**opts, &block)
|
153
|
+
rectangle = DrawioDsl::Schema::Rectangle.new(current_page, **opts, &block)
|
144
154
|
add_shape(rectangle)
|
145
155
|
end
|
146
156
|
|
147
|
-
def add_rectangle2(**opts)
|
148
|
-
rectangle2 = DrawioDsl::Schema::Rectangle2.new(current_page, **opts)
|
157
|
+
def add_rectangle2(**opts, &block)
|
158
|
+
rectangle2 = DrawioDsl::Schema::Rectangle2.new(current_page, **opts, &block)
|
149
159
|
add_shape(rectangle2)
|
150
160
|
end
|
151
161
|
|
152
|
-
def add_square(**opts)
|
153
|
-
square = DrawioDsl::Schema::Square.new(current_page, **opts)
|
162
|
+
def add_square(**opts, &block)
|
163
|
+
square = DrawioDsl::Schema::Square.new(current_page, **opts, &block)
|
154
164
|
add_shape(square)
|
155
165
|
end
|
156
166
|
|
157
|
-
def add_step(**opts)
|
158
|
-
step = DrawioDsl::Schema::Step.new(current_page, **opts)
|
167
|
+
def add_step(**opts, &block)
|
168
|
+
step = DrawioDsl::Schema::Step.new(current_page, **opts, &block)
|
159
169
|
add_shape(step)
|
160
170
|
end
|
161
171
|
|
162
|
-
def add_tick(**opts)
|
163
|
-
tick = DrawioDsl::Schema::Tick.new(current_page, **opts)
|
172
|
+
def add_tick(**opts, &block)
|
173
|
+
tick = DrawioDsl::Schema::Tick.new(current_page, **opts, &block)
|
164
174
|
add_shape(tick)
|
165
175
|
end
|
166
176
|
|
167
|
-
def add_face(**opts)
|
168
|
-
face = DrawioDsl::Schema::Face.new(current_page, **opts)
|
177
|
+
def add_face(**opts, &block)
|
178
|
+
face = DrawioDsl::Schema::Face.new(current_page, **opts, &block)
|
169
179
|
add_shape(face)
|
170
180
|
end
|
171
181
|
|
172
|
-
def add_triangle(**opts)
|
173
|
-
triangle = DrawioDsl::Schema::Triangle.new(current_page, **opts)
|
182
|
+
def add_triangle(**opts, &block)
|
183
|
+
triangle = DrawioDsl::Schema::Triangle.new(current_page, **opts, &block)
|
174
184
|
add_shape(triangle)
|
175
185
|
end
|
176
186
|
|
177
|
-
def add_embed_row(**opts)
|
178
|
-
embed_row = DrawioDsl::Schema::EmbedRow.new(current_page, **opts)
|
187
|
+
def add_embed_row(**opts, &block)
|
188
|
+
embed_row = DrawioDsl::Schema::EmbedRow.new(current_page, **opts, &block)
|
179
189
|
add_shape(embed_row)
|
180
190
|
end
|
181
191
|
|
182
|
-
def add_embed_col50(**opts)
|
183
|
-
embed_col50 = DrawioDsl::Schema::EmbedCol50.new(current_page, **opts)
|
192
|
+
def add_embed_col50(**opts, &block)
|
193
|
+
embed_col50 = DrawioDsl::Schema::EmbedCol50.new(current_page, **opts, &block)
|
184
194
|
add_shape(embed_col50)
|
185
195
|
end
|
186
196
|
|
187
|
-
def add_embed_col200(**opts)
|
188
|
-
embed_col200 = DrawioDsl::Schema::EmbedCol200.new(current_page, **opts)
|
197
|
+
def add_embed_col200(**opts, &block)
|
198
|
+
embed_col200 = DrawioDsl::Schema::EmbedCol200.new(current_page, **opts, &block)
|
189
199
|
add_shape(embed_col200)
|
190
200
|
end
|
191
201
|
end
|
@@ -5,7 +5,7 @@ module DrawioDsl
|
|
5
5
|
# :nocov:
|
6
6
|
module DrawioShapes
|
7
7
|
def random(**opts)
|
8
|
-
case rand(
|
8
|
+
case rand(39)
|
9
9
|
when 0
|
10
10
|
h1(**opts)
|
11
11
|
when 1
|
@@ -37,198 +37,210 @@ module DrawioDsl
|
|
37
37
|
when 14
|
38
38
|
cloud(**opts)
|
39
39
|
when 15
|
40
|
-
|
40
|
+
container(**opts)
|
41
41
|
when 16
|
42
|
-
|
42
|
+
container2(**opts)
|
43
43
|
when 17
|
44
|
-
|
44
|
+
container3(**opts)
|
45
45
|
when 18
|
46
|
-
|
46
|
+
container4(**opts)
|
47
47
|
when 19
|
48
|
-
|
48
|
+
cross(**opts)
|
49
49
|
when 20
|
50
|
-
|
50
|
+
envelop(**opts)
|
51
51
|
when 21
|
52
|
-
|
52
|
+
diamond(**opts)
|
53
53
|
when 22
|
54
|
-
|
54
|
+
document(**opts)
|
55
55
|
when 23
|
56
|
-
|
56
|
+
ellipse(**opts)
|
57
57
|
when 24
|
58
|
-
|
58
|
+
hexagon(**opts)
|
59
59
|
when 25
|
60
|
-
|
60
|
+
interface(**opts)
|
61
61
|
when 26
|
62
|
-
|
62
|
+
klass(**opts)
|
63
63
|
when 27
|
64
|
-
|
64
|
+
note(**opts)
|
65
65
|
when 28
|
66
|
-
|
66
|
+
process(**opts)
|
67
67
|
when 29
|
68
|
-
|
68
|
+
rectangle(**opts)
|
69
69
|
when 30
|
70
|
-
|
70
|
+
rectangle2(**opts)
|
71
71
|
when 31
|
72
|
-
|
72
|
+
square(**opts)
|
73
73
|
when 32
|
74
|
-
|
74
|
+
step(**opts)
|
75
75
|
when 33
|
76
|
-
|
76
|
+
tick(**opts)
|
77
77
|
when 34
|
78
|
-
|
78
|
+
face(**opts)
|
79
79
|
when 35
|
80
|
-
|
80
|
+
triangle(**opts)
|
81
81
|
when 36
|
82
|
+
embed_row(**opts)
|
83
|
+
when 37
|
84
|
+
embed_col50(**opts)
|
85
|
+
when 38
|
82
86
|
embed_col200(**opts)
|
83
87
|
end
|
84
88
|
end
|
85
89
|
|
86
|
-
def h1(**opts)
|
87
|
-
builder.add_h1(**opts)
|
90
|
+
def h1(**opts, &block)
|
91
|
+
builder.add_h1(**opts, &block)
|
92
|
+
end
|
93
|
+
|
94
|
+
def h2(**opts, &block)
|
95
|
+
builder.add_h2(**opts, &block)
|
96
|
+
end
|
97
|
+
|
98
|
+
def h3(**opts, &block)
|
99
|
+
builder.add_h3(**opts, &block)
|
88
100
|
end
|
89
101
|
|
90
|
-
def
|
91
|
-
builder.
|
102
|
+
def h4(**opts, &block)
|
103
|
+
builder.add_h4(**opts, &block)
|
92
104
|
end
|
93
105
|
|
94
|
-
def
|
95
|
-
builder.
|
106
|
+
def h5(**opts, &block)
|
107
|
+
builder.add_h5(**opts, &block)
|
96
108
|
end
|
97
109
|
|
98
|
-
def
|
99
|
-
builder.
|
110
|
+
def h6(**opts, &block)
|
111
|
+
builder.add_h6(**opts, &block)
|
100
112
|
end
|
101
113
|
|
102
|
-
def
|
103
|
-
builder.
|
114
|
+
def p(**opts, &block)
|
115
|
+
builder.add_p(**opts, &block)
|
104
116
|
end
|
105
117
|
|
106
|
-
def
|
107
|
-
builder.
|
118
|
+
def actor(**opts, &block)
|
119
|
+
builder.add_actor(**opts, &block)
|
108
120
|
end
|
109
121
|
|
110
|
-
def
|
111
|
-
builder.
|
122
|
+
def actor2(**opts, &block)
|
123
|
+
builder.add_actor2(**opts, &block)
|
112
124
|
end
|
113
125
|
|
114
|
-
def
|
115
|
-
builder.
|
126
|
+
def callout(**opts, &block)
|
127
|
+
builder.add_callout(**opts, &block)
|
116
128
|
end
|
117
129
|
|
118
|
-
def
|
119
|
-
builder.
|
130
|
+
def callout2(**opts, &block)
|
131
|
+
builder.add_callout2(**opts, &block)
|
120
132
|
end
|
121
133
|
|
122
|
-
def
|
123
|
-
builder.
|
134
|
+
def callout3(**opts, &block)
|
135
|
+
builder.add_callout3(**opts, &block)
|
124
136
|
end
|
125
137
|
|
126
|
-
def
|
127
|
-
builder.
|
138
|
+
def callout4(**opts, &block)
|
139
|
+
builder.add_callout4(**opts, &block)
|
128
140
|
end
|
129
141
|
|
130
|
-
def
|
131
|
-
builder.
|
142
|
+
def circle(**opts, &block)
|
143
|
+
builder.add_circle(**opts, &block)
|
132
144
|
end
|
133
145
|
|
134
|
-
def
|
135
|
-
builder.
|
146
|
+
def cloud(**opts, &block)
|
147
|
+
builder.add_cloud(**opts, &block)
|
136
148
|
end
|
137
149
|
|
138
|
-
def
|
139
|
-
builder.
|
150
|
+
def container(**opts, &block)
|
151
|
+
builder.add_container(**opts, &block)
|
140
152
|
end
|
141
153
|
|
142
|
-
def
|
143
|
-
builder.
|
154
|
+
def container2(**opts, &block)
|
155
|
+
builder.add_container2(**opts, &block)
|
144
156
|
end
|
145
157
|
|
146
|
-
def
|
147
|
-
builder.
|
158
|
+
def container3(**opts, &block)
|
159
|
+
builder.add_container3(**opts, &block)
|
148
160
|
end
|
149
161
|
|
150
|
-
def
|
151
|
-
builder.
|
162
|
+
def container4(**opts, &block)
|
163
|
+
builder.add_container4(**opts, &block)
|
152
164
|
end
|
153
165
|
|
154
|
-
def
|
155
|
-
builder.
|
166
|
+
def cross(**opts, &block)
|
167
|
+
builder.add_cross(**opts, &block)
|
156
168
|
end
|
157
169
|
|
158
|
-
def
|
159
|
-
builder.
|
170
|
+
def envelop(**opts, &block)
|
171
|
+
builder.add_envelop(**opts, &block)
|
160
172
|
end
|
161
173
|
|
162
|
-
def
|
163
|
-
builder.
|
174
|
+
def diamond(**opts, &block)
|
175
|
+
builder.add_diamond(**opts, &block)
|
164
176
|
end
|
165
177
|
|
166
|
-
def
|
167
|
-
builder.
|
178
|
+
def document(**opts, &block)
|
179
|
+
builder.add_document(**opts, &block)
|
168
180
|
end
|
169
181
|
|
170
|
-
def
|
171
|
-
builder.
|
182
|
+
def ellipse(**opts, &block)
|
183
|
+
builder.add_ellipse(**opts, &block)
|
172
184
|
end
|
173
185
|
|
174
|
-
def
|
175
|
-
builder.
|
186
|
+
def hexagon(**opts, &block)
|
187
|
+
builder.add_hexagon(**opts, &block)
|
176
188
|
end
|
177
189
|
|
178
|
-
def
|
179
|
-
builder.
|
190
|
+
def interface(**opts, &block)
|
191
|
+
builder.add_interface(**opts, &block)
|
180
192
|
end
|
181
193
|
|
182
|
-
def
|
183
|
-
builder.
|
194
|
+
def klass(**opts, &block)
|
195
|
+
builder.add_klass(**opts, &block)
|
184
196
|
end
|
185
197
|
|
186
|
-
def note(**opts)
|
187
|
-
builder.add_note(**opts)
|
198
|
+
def note(**opts, &block)
|
199
|
+
builder.add_note(**opts, &block)
|
188
200
|
end
|
189
201
|
|
190
|
-
def process(**opts)
|
191
|
-
builder.add_process(**opts)
|
202
|
+
def process(**opts, &block)
|
203
|
+
builder.add_process(**opts, &block)
|
192
204
|
end
|
193
205
|
|
194
|
-
def rectangle(**opts)
|
195
|
-
builder.add_rectangle(**opts)
|
206
|
+
def rectangle(**opts, &block)
|
207
|
+
builder.add_rectangle(**opts, &block)
|
196
208
|
end
|
197
209
|
|
198
|
-
def rectangle2(**opts)
|
199
|
-
builder.add_rectangle2(**opts)
|
210
|
+
def rectangle2(**opts, &block)
|
211
|
+
builder.add_rectangle2(**opts, &block)
|
200
212
|
end
|
201
213
|
|
202
|
-
def square(**opts)
|
203
|
-
builder.add_square(**opts)
|
214
|
+
def square(**opts, &block)
|
215
|
+
builder.add_square(**opts, &block)
|
204
216
|
end
|
205
217
|
|
206
|
-
def step(**opts)
|
207
|
-
builder.add_step(**opts)
|
218
|
+
def step(**opts, &block)
|
219
|
+
builder.add_step(**opts, &block)
|
208
220
|
end
|
209
221
|
|
210
|
-
def tick(**opts)
|
211
|
-
builder.add_tick(**opts)
|
222
|
+
def tick(**opts, &block)
|
223
|
+
builder.add_tick(**opts, &block)
|
212
224
|
end
|
213
225
|
|
214
|
-
def face(**opts)
|
215
|
-
builder.add_face(**opts)
|
226
|
+
def face(**opts, &block)
|
227
|
+
builder.add_face(**opts, &block)
|
216
228
|
end
|
217
229
|
|
218
|
-
def triangle(**opts)
|
219
|
-
builder.add_triangle(**opts)
|
230
|
+
def triangle(**opts, &block)
|
231
|
+
builder.add_triangle(**opts, &block)
|
220
232
|
end
|
221
233
|
|
222
|
-
def embed_row(**opts)
|
223
|
-
builder.add_embed_row(**opts)
|
234
|
+
def embed_row(**opts, &block)
|
235
|
+
builder.add_embed_row(**opts, &block)
|
224
236
|
end
|
225
237
|
|
226
|
-
def embed_col50(**opts)
|
227
|
-
builder.add_embed_col50(**opts)
|
238
|
+
def embed_col50(**opts, &block)
|
239
|
+
builder.add_embed_col50(**opts, &block)
|
228
240
|
end
|
229
241
|
|
230
|
-
def embed_col200(**opts)
|
231
|
-
builder.add_embed_col200(**opts)
|
242
|
+
def embed_col200(**opts, &block)
|
243
|
+
builder.add_embed_col200(**opts, &block)
|
232
244
|
end
|
233
245
|
end
|
234
246
|
# :nocov:
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Work with HTML formatters to DrawIO shapes
|
4
|
+
module DrawioDsl
|
5
|
+
# HTML formatters can be used on shapes to render HTML using a DSL
|
6
|
+
module Formatters
|
7
|
+
# Create an instance of a HTML formatter on the shape
|
8
|
+
class BaseFormatter
|
9
|
+
attr_reader :html
|
10
|
+
|
11
|
+
def initialize(element_style_defaults = {})
|
12
|
+
@html = DrawioDsl::Formatters::HtmlBuilder.new(element_style_defaults)
|
13
|
+
end
|
14
|
+
|
15
|
+
def empty?
|
16
|
+
html.empty?
|
17
|
+
end
|
18
|
+
|
19
|
+
def as_html(new_line: false)
|
20
|
+
html.as_html(new_line: new_line)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Work with HTML formatters to DrawIO shapes
|
4
|
+
module DrawioDsl
|
5
|
+
# HTML formatters can be used on shapes to render HTML using a DSL
|
6
|
+
module Formatters
|
7
|
+
# Create an instance of a HTML formatter on the shape
|
8
|
+
module Factory
|
9
|
+
include KLog::Logging
|
10
|
+
|
11
|
+
FORMATTERS = {
|
12
|
+
class: DrawioDsl::Formatters::KlassFormatter,
|
13
|
+
interface: DrawioDsl::Formatters::InterfaceFormatter
|
14
|
+
}.freeze
|
15
|
+
|
16
|
+
def format(type)
|
17
|
+
unless FORMATTERS.key?(type)
|
18
|
+
log.error "Unknown formatter type: #{type}"
|
19
|
+
@formatter = nil
|
20
|
+
return formatter
|
21
|
+
end
|
22
|
+
|
23
|
+
@formatter = FORMATTERS[type].new
|
24
|
+
formatter
|
25
|
+
end
|
26
|
+
|
27
|
+
def formatter
|
28
|
+
@formatter ||= DrawioDsl::Formatters::BaseFormatter.new
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|