drawio_dsl 0.8.0 → 0.8.3
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 +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
|