drawio_dsl 0.8.0 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.builders/.data/shapes.json +581 -362
- data/.builders/.templates/basic/configuration_shapes.rb +3 -3
- data/.builders/.templates/basic/dom_builder_shapes.rb +2 -1
- data/.builders/.templates/basic/drawio_shapes.rb +2 -2
- data/.builders/blueprint/shapes.rb +147 -44
- data/.builders/generators/02-generate-app.rb +3 -1
- data/.builders/generators/{project_plans/drawio_dsl.rb → project-plan.rb} +24 -13
- data/.builders/generators/sample_diagrams/05-samples.rb +19 -6
- data/.builders/generators/sample_diagrams/30-html-shapes.rb +6 -6
- data/.builders/generators/sample_diagrams/35-ids-and-arrows.rb +30 -0
- data/CHANGELOG.md +21 -0
- data/docs/project-plan/project.drawio +152 -0
- data/docs/project-plan/project_done.svg +3 -0
- data/docs/project-plan/project_in_progress.svg +3 -0
- data/docs/project-plan/project_todo.svg +3 -0
- data/docs/project-plan.md +3 -3
- 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 +44 -42
- data/lib/drawio_dsl/dom_builder_shapes.rb +86 -40
- data/lib/drawio_dsl/drawio_shapes.rb +89 -83
- data/lib/drawio_dsl/formatters/interface_formatter.rb +5 -3
- data/lib/drawio_dsl/formatters/klass_formatter.rb +4 -2
- data/lib/drawio_dsl/schema/_.rb +1 -0
- data/lib/drawio_dsl/schema/shapes/line.rb +9 -0
- data/lib/drawio_dsl/schema/shapes/shape.rb +24 -5
- data/lib/drawio_dsl/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +9 -7
- data/.builders/generators/project_plans/k_doc.rb +0 -39
- data/docs/project_done.svg +0 -3
- data/docs/project_in_progress.svg +0 -3
- data/docs/project_todo.svg +0 -3
@@ -5,7 +5,7 @@
|
|
5
5
|
module DrawioDsl
|
6
6
|
# Used to attach configuration to KConfig module
|
7
7
|
module ConfigurationShapes
|
8
|
-
ShapeDefaults = Struct.new(:type, :
|
8
|
+
ShapeDefaults = Struct.new(:type, :category, :x, :y, :w, :h, :style_modifiers, keyword_init: true)
|
9
9
|
Shapes = Struct.new(
|
10
10
|
:shape,
|
11
11
|
:h1,
|
@@ -45,6 +45,7 @@ module DrawioDsl
|
|
45
45
|
:todo,
|
46
46
|
:face,
|
47
47
|
:triangle,
|
48
|
+
:line,
|
48
49
|
:embed_row,
|
49
50
|
:embed_col50,
|
50
51
|
:embed_col200,
|
@@ -53,47 +54,48 @@ module DrawioDsl
|
|
53
54
|
|
54
55
|
def add_shapes
|
55
56
|
@shapes = Shapes.new(
|
56
|
-
shape: ShapeDefaults.new(type: :shape,
|
57
|
-
h1: ShapeDefaults.new(type: :h1, x: 0,
|
58
|
-
h2: ShapeDefaults.new(type: :h2, x: 0,
|
59
|
-
h3: ShapeDefaults.new(type: :h3, x: 0,
|
60
|
-
h4: ShapeDefaults.new(type: :h4, x: 0,
|
61
|
-
h5: ShapeDefaults.new(type: :h5, x: 0,
|
62
|
-
h6: ShapeDefaults.new(type: :h6, x: 0,
|
63
|
-
p: ShapeDefaults.new(type: :p, x: 0,
|
64
|
-
actor: ShapeDefaults.new(type: :actor, x: 0,
|
65
|
-
actor2: ShapeDefaults.new(type: :actor2, x: 0,
|
66
|
-
callout: ShapeDefaults.new(type: :callout, x: 0,
|
67
|
-
callout2: ShapeDefaults.new(type: :callout2, x: 0,
|
68
|
-
callout3: ShapeDefaults.new(type: :callout3, x: 0,
|
69
|
-
callout4: ShapeDefaults.new(type: :callout4, x: 0,
|
70
|
-
circle: ShapeDefaults.new(type: :circle, x: 0,
|
71
|
-
cloud: ShapeDefaults.new(type: :cloud, x: 0,
|
72
|
-
container: ShapeDefaults.new(type: :container, x: 0,
|
73
|
-
container2: ShapeDefaults.new(type: :container2, x: 0,
|
74
|
-
container3: ShapeDefaults.new(type: :container3, x: 0,
|
75
|
-
container4: ShapeDefaults.new(type: :container4, x: 0,
|
76
|
-
cross: ShapeDefaults.new(type: :cross, x: 0,
|
77
|
-
envelop: ShapeDefaults.new(type: :envelop, x: 0,
|
78
|
-
diamond: ShapeDefaults.new(type: :diamond, x: 0,
|
79
|
-
document: ShapeDefaults.new(type: :document, x: 0,
|
80
|
-
ellipse: ShapeDefaults.new(type: :ellipse, x: 0,
|
81
|
-
hexagon: ShapeDefaults.new(type: :hexagon, x: 0,
|
82
|
-
interface: ShapeDefaults.new(type: :interface, x: 0,
|
83
|
-
klass: ShapeDefaults.new(type: :klass, x: 0,
|
84
|
-
note: ShapeDefaults.new(type: :note, x: 0,
|
85
|
-
process: ShapeDefaults.new(type: :process, x: 0,
|
86
|
-
rectangle: ShapeDefaults.new(type: :rectangle, x: 0,
|
87
|
-
rectangle2: ShapeDefaults.new(type: :rectangle2, x: 0,
|
88
|
-
square: ShapeDefaults.new(type: :square, x: 0,
|
89
|
-
step: ShapeDefaults.new(type: :step, x: 0,
|
90
|
-
tick: ShapeDefaults.new(type: :tick, x: 0,
|
91
|
-
todo: ShapeDefaults.new(type: :todo, x: 0,
|
92
|
-
face: ShapeDefaults.new(type: :face, x: 0,
|
93
|
-
triangle: ShapeDefaults.new(type: :triangle, x: 0,
|
94
|
-
|
95
|
-
|
96
|
-
|
57
|
+
shape: ShapeDefaults.new(type: :shape, category: :element, x: 0, y: 0, w: 20, h: 20, style_modifiers: ''),
|
58
|
+
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
|
+
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
|
+
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'),
|
61
|
+
h4: ShapeDefaults.new(type: :h4, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=37;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
62
|
+
h5: ShapeDefaults.new(type: :h5, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=28;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
63
|
+
h6: ShapeDefaults.new(type: :h6, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=21;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
64
|
+
p: ShapeDefaults.new(type: :p, x: 0, category: :text, y: 0, w: 100, h: 50, style_modifiers: 'text;fontSize=16;fontColor=#ffffff;fontStyle=1;fillColor=none'),
|
65
|
+
actor: ShapeDefaults.new(type: :actor, x: 0, category: :element, y: 0, w: 40, h: 50, style_modifiers: 'shape=actor'),
|
66
|
+
actor2: ShapeDefaults.new(type: :actor2, x: 0, category: :element, y: 0, w: 30, h: 50, style_modifiers: 'shape=umlActor;verticalLabelPosition=bottom;outlineConnect=1'),
|
67
|
+
callout: ShapeDefaults.new(type: :callout, x: 0, category: :element, y: 0, w: 160, h: 120, style_modifiers: 'shape=callout'),
|
68
|
+
callout2: ShapeDefaults.new(type: :callout2, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=mxgraph.basic.oval_callout'),
|
69
|
+
callout3: ShapeDefaults.new(type: :callout3, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=mxgraph.basic.cloud_callout'),
|
70
|
+
callout4: ShapeDefaults.new(type: :callout4, x: 0, category: :element, y: 0, w: 160, h: 120, style_modifiers: 'shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;'),
|
71
|
+
circle: ShapeDefaults.new(type: :circle, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'ellipse'),
|
72
|
+
cloud: ShapeDefaults.new(type: :cloud, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=cloud'),
|
73
|
+
container: ShapeDefaults.new(type: :container, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'swimlane'),
|
74
|
+
container2: ShapeDefaults.new(type: :container2, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'swimlane;horizontal=0'),
|
75
|
+
container3: ShapeDefaults.new(type: :container3, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'swimlane;startSize=50'),
|
76
|
+
container4: ShapeDefaults.new(type: :container4, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'swimlane;resizable=0'),
|
77
|
+
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
|
+
envelop: ShapeDefaults.new(type: :envelop, x: 0, category: :element, y: 0, w: 160, h: 100, style_modifiers: 'shape=message'),
|
79
|
+
diamond: ShapeDefaults.new(type: :diamond, x: 0, category: :element, y: 0, w: 100, h: 100, style_modifiers: 'rhombus'),
|
80
|
+
document: ShapeDefaults.new(type: :document, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=mxgraph.basic.document'),
|
81
|
+
ellipse: ShapeDefaults.new(type: :ellipse, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'ellipse'),
|
82
|
+
hexagon: ShapeDefaults.new(type: :hexagon, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'shape=hexagon'),
|
83
|
+
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
|
+
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'),
|
85
|
+
note: ShapeDefaults.new(type: :note, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: 'shape=note'),
|
86
|
+
process: ShapeDefaults.new(type: :process, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'shape=process'),
|
87
|
+
rectangle: ShapeDefaults.new(type: :rectangle, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: ''),
|
88
|
+
rectangle2: ShapeDefaults.new(type: :rectangle2, x: 0, category: :element, y: 0, w: 200, h: 120, style_modifiers: 'shape=mxgraph.basic.cloud_rect'),
|
89
|
+
square: ShapeDefaults.new(type: :square, x: 0, category: :element, y: 0, w: 160, h: 160, style_modifiers: ''),
|
90
|
+
step: ShapeDefaults.new(type: :step, x: 0, category: :element, y: 0, w: 120, h: 80, style_modifiers: 'shape=step;perimeter=stepPerimeter;fixedSize=1'),
|
91
|
+
tick: ShapeDefaults.new(type: :tick, x: 0, category: :element, y: 0, w: 50, h: 50, style_modifiers: 'verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.basic.tick'),
|
92
|
+
todo: ShapeDefaults.new(type: :todo, x: 0, category: :element, y: 0, w: 300, h: 60, style_modifiers: ''),
|
93
|
+
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
|
+
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
|
+
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
|
+
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
|
+
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')
|
97
99
|
)
|
98
100
|
end
|
99
101
|
end
|
@@ -4,202 +4,248 @@
|
|
4
4
|
module DrawioDsl
|
5
5
|
# DrawioDsl is a DSL for draw-io diagrams.
|
6
6
|
module DomBuilderShapes
|
7
|
-
def add_h1(**opts, &block)
|
7
|
+
def add_h1(id = nil, **opts, &block)
|
8
|
+
opts = { id: id }.merge(opts) if id
|
8
9
|
h1 = DrawioDsl::Schema::H1.new(current_page, **opts, &block)
|
9
10
|
add_shape(h1)
|
10
11
|
end
|
11
12
|
|
12
|
-
def add_h2(**opts, &block)
|
13
|
+
def add_h2(id = nil, **opts, &block)
|
14
|
+
opts = { id: id }.merge(opts) if id
|
13
15
|
h2 = DrawioDsl::Schema::H2.new(current_page, **opts, &block)
|
14
16
|
add_shape(h2)
|
15
17
|
end
|
16
18
|
|
17
|
-
def add_h3(**opts, &block)
|
19
|
+
def add_h3(id = nil, **opts, &block)
|
20
|
+
opts = { id: id }.merge(opts) if id
|
18
21
|
h3 = DrawioDsl::Schema::H3.new(current_page, **opts, &block)
|
19
22
|
add_shape(h3)
|
20
23
|
end
|
21
24
|
|
22
|
-
def add_h4(**opts, &block)
|
25
|
+
def add_h4(id = nil, **opts, &block)
|
26
|
+
opts = { id: id }.merge(opts) if id
|
23
27
|
h4 = DrawioDsl::Schema::H4.new(current_page, **opts, &block)
|
24
28
|
add_shape(h4)
|
25
29
|
end
|
26
30
|
|
27
|
-
def add_h5(**opts, &block)
|
31
|
+
def add_h5(id = nil, **opts, &block)
|
32
|
+
opts = { id: id }.merge(opts) if id
|
28
33
|
h5 = DrawioDsl::Schema::H5.new(current_page, **opts, &block)
|
29
34
|
add_shape(h5)
|
30
35
|
end
|
31
36
|
|
32
|
-
def add_h6(**opts, &block)
|
37
|
+
def add_h6(id = nil, **opts, &block)
|
38
|
+
opts = { id: id }.merge(opts) if id
|
33
39
|
h6 = DrawioDsl::Schema::H6.new(current_page, **opts, &block)
|
34
40
|
add_shape(h6)
|
35
41
|
end
|
36
42
|
|
37
|
-
def add_p(**opts, &block)
|
43
|
+
def add_p(id = nil, **opts, &block)
|
44
|
+
opts = { id: id }.merge(opts) if id
|
38
45
|
p = DrawioDsl::Schema::P.new(current_page, **opts, &block)
|
39
46
|
add_shape(p)
|
40
47
|
end
|
41
48
|
|
42
|
-
def add_actor(**opts, &block)
|
49
|
+
def add_actor(id = nil, **opts, &block)
|
50
|
+
opts = { id: id }.merge(opts) if id
|
43
51
|
actor = DrawioDsl::Schema::Actor.new(current_page, **opts, &block)
|
44
52
|
add_shape(actor)
|
45
53
|
end
|
46
54
|
|
47
|
-
def add_actor2(**opts, &block)
|
55
|
+
def add_actor2(id = nil, **opts, &block)
|
56
|
+
opts = { id: id }.merge(opts) if id
|
48
57
|
actor2 = DrawioDsl::Schema::Actor2.new(current_page, **opts, &block)
|
49
58
|
add_shape(actor2)
|
50
59
|
end
|
51
60
|
|
52
|
-
def add_callout(**opts, &block)
|
61
|
+
def add_callout(id = nil, **opts, &block)
|
62
|
+
opts = { id: id }.merge(opts) if id
|
53
63
|
callout = DrawioDsl::Schema::Callout.new(current_page, **opts, &block)
|
54
64
|
add_shape(callout)
|
55
65
|
end
|
56
66
|
|
57
|
-
def add_callout2(**opts, &block)
|
67
|
+
def add_callout2(id = nil, **opts, &block)
|
68
|
+
opts = { id: id }.merge(opts) if id
|
58
69
|
callout2 = DrawioDsl::Schema::Callout2.new(current_page, **opts, &block)
|
59
70
|
add_shape(callout2)
|
60
71
|
end
|
61
72
|
|
62
|
-
def add_callout3(**opts, &block)
|
73
|
+
def add_callout3(id = nil, **opts, &block)
|
74
|
+
opts = { id: id }.merge(opts) if id
|
63
75
|
callout3 = DrawioDsl::Schema::Callout3.new(current_page, **opts, &block)
|
64
76
|
add_shape(callout3)
|
65
77
|
end
|
66
78
|
|
67
|
-
def add_callout4(**opts, &block)
|
79
|
+
def add_callout4(id = nil, **opts, &block)
|
80
|
+
opts = { id: id }.merge(opts) if id
|
68
81
|
callout4 = DrawioDsl::Schema::Callout4.new(current_page, **opts, &block)
|
69
82
|
add_shape(callout4)
|
70
83
|
end
|
71
84
|
|
72
|
-
def add_circle(**opts, &block)
|
85
|
+
def add_circle(id = nil, **opts, &block)
|
86
|
+
opts = { id: id }.merge(opts) if id
|
73
87
|
circle = DrawioDsl::Schema::Circle.new(current_page, **opts, &block)
|
74
88
|
add_shape(circle)
|
75
89
|
end
|
76
90
|
|
77
|
-
def add_cloud(**opts, &block)
|
91
|
+
def add_cloud(id = nil, **opts, &block)
|
92
|
+
opts = { id: id }.merge(opts) if id
|
78
93
|
cloud = DrawioDsl::Schema::Cloud.new(current_page, **opts, &block)
|
79
94
|
add_shape(cloud)
|
80
95
|
end
|
81
96
|
|
82
|
-
def add_container(**opts, &block)
|
97
|
+
def add_container(id = nil, **opts, &block)
|
98
|
+
opts = { id: id }.merge(opts) if id
|
83
99
|
container = DrawioDsl::Schema::Container.new(current_page, **opts, &block)
|
84
100
|
add_shape(container)
|
85
101
|
end
|
86
102
|
|
87
|
-
def add_container2(**opts, &block)
|
103
|
+
def add_container2(id = nil, **opts, &block)
|
104
|
+
opts = { id: id }.merge(opts) if id
|
88
105
|
container2 = DrawioDsl::Schema::Container2.new(current_page, **opts, &block)
|
89
106
|
add_shape(container2)
|
90
107
|
end
|
91
108
|
|
92
|
-
def add_container3(**opts, &block)
|
109
|
+
def add_container3(id = nil, **opts, &block)
|
110
|
+
opts = { id: id }.merge(opts) if id
|
93
111
|
container3 = DrawioDsl::Schema::Container3.new(current_page, **opts, &block)
|
94
112
|
add_shape(container3)
|
95
113
|
end
|
96
114
|
|
97
|
-
def add_container4(**opts, &block)
|
115
|
+
def add_container4(id = nil, **opts, &block)
|
116
|
+
opts = { id: id }.merge(opts) if id
|
98
117
|
container4 = DrawioDsl::Schema::Container4.new(current_page, **opts, &block)
|
99
118
|
add_shape(container4)
|
100
119
|
end
|
101
120
|
|
102
|
-
def add_cross(**opts, &block)
|
121
|
+
def add_cross(id = nil, **opts, &block)
|
122
|
+
opts = { id: id }.merge(opts) if id
|
103
123
|
cross = DrawioDsl::Schema::Cross.new(current_page, **opts, &block)
|
104
124
|
add_shape(cross)
|
105
125
|
end
|
106
126
|
|
107
|
-
def add_envelop(**opts, &block)
|
127
|
+
def add_envelop(id = nil, **opts, &block)
|
128
|
+
opts = { id: id }.merge(opts) if id
|
108
129
|
envelop = DrawioDsl::Schema::Envelop.new(current_page, **opts, &block)
|
109
130
|
add_shape(envelop)
|
110
131
|
end
|
111
132
|
|
112
|
-
def add_diamond(**opts, &block)
|
133
|
+
def add_diamond(id = nil, **opts, &block)
|
134
|
+
opts = { id: id }.merge(opts) if id
|
113
135
|
diamond = DrawioDsl::Schema::Diamond.new(current_page, **opts, &block)
|
114
136
|
add_shape(diamond)
|
115
137
|
end
|
116
138
|
|
117
|
-
def add_document(**opts, &block)
|
139
|
+
def add_document(id = nil, **opts, &block)
|
140
|
+
opts = { id: id }.merge(opts) if id
|
118
141
|
document = DrawioDsl::Schema::Document.new(current_page, **opts, &block)
|
119
142
|
add_shape(document)
|
120
143
|
end
|
121
144
|
|
122
|
-
def add_ellipse(**opts, &block)
|
145
|
+
def add_ellipse(id = nil, **opts, &block)
|
146
|
+
opts = { id: id }.merge(opts) if id
|
123
147
|
ellipse = DrawioDsl::Schema::Ellipse.new(current_page, **opts, &block)
|
124
148
|
add_shape(ellipse)
|
125
149
|
end
|
126
150
|
|
127
|
-
def add_hexagon(**opts, &block)
|
151
|
+
def add_hexagon(id = nil, **opts, &block)
|
152
|
+
opts = { id: id }.merge(opts) if id
|
128
153
|
hexagon = DrawioDsl::Schema::Hexagon.new(current_page, **opts, &block)
|
129
154
|
add_shape(hexagon)
|
130
155
|
end
|
131
156
|
|
132
|
-
def add_interface(**opts, &block)
|
157
|
+
def add_interface(id = nil, **opts, &block)
|
158
|
+
opts = { id: id }.merge(opts) if id
|
133
159
|
interface = DrawioDsl::Schema::Interface.new(current_page, **opts, &block)
|
134
160
|
add_shape(interface)
|
135
161
|
end
|
136
162
|
|
137
|
-
def add_klass(**opts, &block)
|
163
|
+
def add_klass(id = nil, **opts, &block)
|
164
|
+
opts = { id: id }.merge(opts) if id
|
138
165
|
klass = DrawioDsl::Schema::Klass.new(current_page, **opts, &block)
|
139
166
|
add_shape(klass)
|
140
167
|
end
|
141
168
|
|
142
|
-
def add_note(**opts, &block)
|
169
|
+
def add_note(id = nil, **opts, &block)
|
170
|
+
opts = { id: id }.merge(opts) if id
|
143
171
|
note = DrawioDsl::Schema::Note.new(current_page, **opts, &block)
|
144
172
|
add_shape(note)
|
145
173
|
end
|
146
174
|
|
147
|
-
def add_process(**opts, &block)
|
175
|
+
def add_process(id = nil, **opts, &block)
|
176
|
+
opts = { id: id }.merge(opts) if id
|
148
177
|
process = DrawioDsl::Schema::Process.new(current_page, **opts, &block)
|
149
178
|
add_shape(process)
|
150
179
|
end
|
151
180
|
|
152
|
-
def add_rectangle(**opts, &block)
|
181
|
+
def add_rectangle(id = nil, **opts, &block)
|
182
|
+
opts = { id: id }.merge(opts) if id
|
153
183
|
rectangle = DrawioDsl::Schema::Rectangle.new(current_page, **opts, &block)
|
154
184
|
add_shape(rectangle)
|
155
185
|
end
|
156
186
|
|
157
|
-
def add_rectangle2(**opts, &block)
|
187
|
+
def add_rectangle2(id = nil, **opts, &block)
|
188
|
+
opts = { id: id }.merge(opts) if id
|
158
189
|
rectangle2 = DrawioDsl::Schema::Rectangle2.new(current_page, **opts, &block)
|
159
190
|
add_shape(rectangle2)
|
160
191
|
end
|
161
192
|
|
162
|
-
def add_square(**opts, &block)
|
193
|
+
def add_square(id = nil, **opts, &block)
|
194
|
+
opts = { id: id }.merge(opts) if id
|
163
195
|
square = DrawioDsl::Schema::Square.new(current_page, **opts, &block)
|
164
196
|
add_shape(square)
|
165
197
|
end
|
166
198
|
|
167
|
-
def add_step(**opts, &block)
|
199
|
+
def add_step(id = nil, **opts, &block)
|
200
|
+
opts = { id: id }.merge(opts) if id
|
168
201
|
step = DrawioDsl::Schema::Step.new(current_page, **opts, &block)
|
169
202
|
add_shape(step)
|
170
203
|
end
|
171
204
|
|
172
|
-
def add_tick(**opts, &block)
|
205
|
+
def add_tick(id = nil, **opts, &block)
|
206
|
+
opts = { id: id }.merge(opts) if id
|
173
207
|
tick = DrawioDsl::Schema::Tick.new(current_page, **opts, &block)
|
174
208
|
add_shape(tick)
|
175
209
|
end
|
176
210
|
|
177
|
-
def add_todo(**opts, &block)
|
211
|
+
def add_todo(id = nil, **opts, &block)
|
212
|
+
opts = { id: id }.merge(opts) if id
|
178
213
|
todo = DrawioDsl::Schema::Todo.new(current_page, **opts, &block)
|
179
214
|
add_shape(todo)
|
180
215
|
end
|
181
216
|
|
182
|
-
def add_face(**opts, &block)
|
217
|
+
def add_face(id = nil, **opts, &block)
|
218
|
+
opts = { id: id }.merge(opts) if id
|
183
219
|
face = DrawioDsl::Schema::Face.new(current_page, **opts, &block)
|
184
220
|
add_shape(face)
|
185
221
|
end
|
186
222
|
|
187
|
-
def add_triangle(**opts, &block)
|
223
|
+
def add_triangle(id = nil, **opts, &block)
|
224
|
+
opts = { id: id }.merge(opts) if id
|
188
225
|
triangle = DrawioDsl::Schema::Triangle.new(current_page, **opts, &block)
|
189
226
|
add_shape(triangle)
|
190
227
|
end
|
191
228
|
|
192
|
-
def
|
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
|
+
def add_embed_row(id = nil, **opts, &block)
|
236
|
+
opts = { id: id }.merge(opts) if id
|
193
237
|
embed_row = DrawioDsl::Schema::EmbedRow.new(current_page, **opts, &block)
|
194
238
|
add_shape(embed_row)
|
195
239
|
end
|
196
240
|
|
197
|
-
def add_embed_col50(**opts, &block)
|
241
|
+
def add_embed_col50(id = nil, **opts, &block)
|
242
|
+
opts = { id: id }.merge(opts) if id
|
198
243
|
embed_col50 = DrawioDsl::Schema::EmbedCol50.new(current_page, **opts, &block)
|
199
244
|
add_shape(embed_col50)
|
200
245
|
end
|
201
246
|
|
202
|
-
def add_embed_col200(**opts, &block)
|
247
|
+
def add_embed_col200(id = nil, **opts, &block)
|
248
|
+
opts = { id: id }.merge(opts) if id
|
203
249
|
embed_col200 = DrawioDsl::Schema::EmbedCol200.new(current_page, **opts, &block)
|
204
250
|
add_shape(embed_col200)
|
205
251
|
end
|