k_manager 0.0.24 → 0.0.32

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 157a9a658d9851e2dc9aa452e5acfffbbd323d40a5bd3aedaefee2ee0c416566
4
- data.tar.gz: c2e4e2c47536323c37764003f5ee3267871c0521707f60559a086a7bf7c269df
3
+ metadata.gz: e3058f62c501f797ee6ae5e970d0a0a59d333e3ebb290dc83c0b691fa33bc0c9
4
+ data.tar.gz: b63576b8b85f8b475dea7aa6ba7df77118393bfdd9908a14a3d760e2a004bd47
5
5
  SHA512:
6
- metadata.gz: 58f487cb037aec8befd840a16c984f570fff3e1e9e9e96f38c8982b387fc39d07942eb8ffe5ed0ae3b285c99ca199749b4e744083c0e2a9126232baec2bfb1ba
7
- data.tar.gz: f21a0047dce6f822e9b2fbbfde1bc183850c8ab02712964d651f733f395d50d2dfd4439f155eef5ef421170e642117981209eeb57c6f4dd5523fe99837577f7b
6
+ metadata.gz: c158cd92a983e7df6d184f336118e44171fa33250511a872fba764d243c6dcf24f110d90b1e96d86ebab534dfa2450087c18f9d4466aa39a9e1d7958ee04d532
7
+ data.tar.gz: 28bd874b203cdf3d71bbcfbb029a465bad51ec71e355f42af85a50ca2e9c1366260b422b94df9f2e453db65aee90c3945d59c0db69697ef93fe91979f9f2274a
data/.builders/_.rb ADDED
@@ -0,0 +1 @@
1
+ # require_relative './path/here'
data/.builders/boot.rb ADDED
@@ -0,0 +1,66 @@
1
+ # Boot Sequence
2
+
3
+ include KLog::Logging
4
+
5
+ CONFIG_KEY = :k_manager
6
+
7
+ log.kv 'working folder', Dir.pwd
8
+
9
+ Handlebars::Helpers.configure do |config|
10
+ config.helper_config_file = File.join(Gem.loaded_specs['handlebars-helpers'].full_gem_path, '.handlebars_helpers.json')
11
+ config.string_formatter_config_file = File.join(Gem.loaded_specs['handlebars-helpers'].full_gem_path, '.handlebars_string_formatters.json')
12
+ end
13
+
14
+ def camel
15
+ require 'handlebars/helpers/string_formatting/camel'
16
+ Handlebars::Helpers::StringFormatting::Camel.new
17
+ end
18
+
19
+ def titleize
20
+ require 'handlebars/helpers/string_formatting/titleize'
21
+ Handlebars::Helpers::StringFormatting::Titleize.new
22
+ end
23
+
24
+ def pluralize
25
+ require 'handlebars/helpers/inflection/pluralize'
26
+ Handlebars::Helpers::Inflection::Pluralize.new
27
+ end
28
+
29
+ def singularize
30
+ require 'handlebars/helpers/inflection/singularize'
31
+ Handlebars::Helpers::Inflection::Singularize.new
32
+ end
33
+
34
+ def dasherize
35
+ require 'handlebars/helpers/string_formatting/dasherize'
36
+ Handlebars::Helpers::StringFormatting::Dasherize.new
37
+ end
38
+
39
+ def k_builder
40
+ @k_builder ||= KBuilder::BaseBuilder.init(KConfig.configuration(CONFIG_KEY))
41
+ end
42
+
43
+ KConfig.configure(CONFIG_KEY) do |config|
44
+ builder_folder = Dir.pwd
45
+ base_folder = File.expand_path('../', builder_folder)
46
+ global_template = File.expand_path('~/dev/kgems/k_templates/templates')
47
+
48
+ config.template_folders.add(:global_template , global_template)
49
+ config.template_folders.add(:template , File.expand_path('.templates', Dir.pwd))
50
+
51
+ config.target_folders.add(:app , base_folder)
52
+ config.target_folders.add(:builder , builder_folder)
53
+ config.target_folders.add(:graph , builder_folder, 'graph')
54
+ end
55
+
56
+ KConfig.configuration(CONFIG_KEY).debug
57
+
58
+ area = KManager.add_area(CONFIG_KEY)
59
+ resource_manager = area.resource_manager
60
+ resource_manager
61
+ .fileset
62
+ .glob('*.rb', exclude: ['boot.rb'])
63
+ .glob('generators/**/*.rb')
64
+ resource_manager.add_resources
65
+
66
+ KManager.boot
@@ -0,0 +1,90 @@
1
+ KManager.action :bootstrap do
2
+ action do
3
+ application_name = :k_manager
4
+
5
+ director = KDirector::Dsls::BasicDsl
6
+ .init(k_builder,
7
+ on_exist: :skip, # %i[skip write compare]
8
+ on_action: :queue # %i[queue execute]
9
+ )
10
+ .data(
11
+ application: application_name,
12
+ application_description: 'Add draw-io graph support',
13
+ author: 'David Cruwys',
14
+ author_email: 'david@ideasmen.com.au',
15
+ initial_semver: '1.0.0',
16
+ main_story: '',
17
+ copyright_date: '2022'
18
+ )
19
+ .github(
20
+ active: false,
21
+ repo_name: application_name
22
+ ) do
23
+ create_repository
24
+ # delete_repository
25
+ # list_repositories
26
+ open_repository
27
+ # run_command('git init')
28
+ end
29
+ .blueprint(
30
+ active: false,
31
+ name: :bin_hook,
32
+ description: 'initialize repository',
33
+ on_exist: :write) do
34
+
35
+ cd(:app)
36
+
37
+ run_command('git init')
38
+ add('.gitignore')
39
+
40
+ run_template_script('.git-setup.sh', dom: dom)
41
+
42
+ run_command("git add .; git commit -m 'chore: #{self.options.description.downcase}'; git push")
43
+ run_command("gh repo edit -d \"#{dom[:application_description]}\"")
44
+ end
45
+ .package_json(
46
+ active: false,
47
+ name: :package_json,
48
+ description: 'Set up the package.json file for semantic versioning'
49
+ ) do
50
+ self
51
+ .add('package.json', dom: dom)
52
+ .play_actions
53
+
54
+ # self
55
+ # .add_script('xxx', 'xxx')
56
+ # .sort
57
+ # .development
58
+ # .npm_add_group('xxx')
59
+
60
+ # run_command("git add .; git commit -m 'chore: #{self.options.description.downcase}'; git push")
61
+ end
62
+ .blueprint(
63
+ active: false,
64
+ name: :opinionated,
65
+ description: 'opinionated files',
66
+ on_exist: :write) do
67
+
68
+ cd(:app)
69
+
70
+ add('README.md' , dom: dom)
71
+
72
+ # add('index.html', dom: dom)
73
+ # add('main.css' , dom: dom)
74
+ # add('main.js' , dom: dom)
75
+
76
+ # run_command("git add .; git commit -m 'chore: #{self.options.description.downcase}'; git push")
77
+ end
78
+
79
+ director.play_actions
80
+ end
81
+ end
82
+
83
+ KManager.opts.app_name = 'k_manager'
84
+ KManager.opts.sleep = 2
85
+ KManager.opts.reboot_on_kill = 0
86
+ KManager.opts.reboot_sleep = 4
87
+ KManager.opts.exception_style = :short
88
+ KManager.opts.show.time_taken = true
89
+ KManager.opts.show.finished = true
90
+ KManager.opts.show.finished_message = 'FINISHED :)'
@@ -0,0 +1,37 @@
1
+ KManager.action :bootstrap do
2
+ action do
3
+ director = KDirector::Dsls::BasicDsl
4
+ .init(k_builder,
5
+ template_base_folder: 'drawio',
6
+ on_exist: :skip, # %i[skip write compare]
7
+ on_action: :queue # %i[queue execute]
8
+ )
9
+ .data(
10
+ )
11
+ .blueprint(
12
+ active: true,
13
+ name: :build_graph,
14
+ description: 'build a graph',
15
+ on_exist: :write) do
16
+
17
+ cd(:graph)
18
+
19
+ debug
20
+ add('xmen.txt', template_file: 'main.drawio')
21
+ add('xmen.drawio', template_file: 'main.drawio')
22
+ oadd('test.drawio', template_file: 'main.drawio')
23
+
24
+ end
25
+
26
+ director.play_actions
27
+ end
28
+ end
29
+
30
+ KManager.opts.app_name = 'k_manager'
31
+ KManager.opts.sleep = 2
32
+ KManager.opts.reboot_on_kill = 0
33
+ KManager.opts.reboot_sleep = 4
34
+ KManager.opts.exception_style = :short
35
+ KManager.opts.show.time_taken = true
36
+ KManager.opts.show.finished = true
37
+ KManager.opts.show.finished_message = 'FINISHED :)'
@@ -0,0 +1,202 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="Sk36w1yPGO5rhA4B0xN7" name="Page-1">
3
+ <mxGraphModel dx="926" dy="583" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="0"/>
6
+ <mxCell id="1" parent="0"/>
7
+ <mxCell id="3" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
8
+ <mxGeometry x="40" y="40" width="120" height="60" as="geometry"/>
9
+ </mxCell>
10
+ <mxCell id="4" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
11
+ <mxGeometry x="40" y="120" width="120" height="60" as="geometry"/>
12
+ </mxCell>
13
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-19" value="" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
14
+ <mxGeometry x="40" y="210" width="120" height="80" as="geometry"/>
15
+ </mxCell>
16
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-20" value="" style="whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
17
+ <mxGeometry x="40" y="320" width="80" height="80" as="geometry"/>
18
+ </mxCell>
19
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-21" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
20
+ <mxGeometry x="40" y="440" width="80" height="80" as="geometry"/>
21
+ </mxCell>
22
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-22" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
23
+ <mxGeometry x="40" y="560" width="80" height="80" as="geometry"/>
24
+ </mxCell>
25
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-23" value="" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
26
+ <mxGeometry x="40" y="670" width="120" height="60" as="geometry"/>
27
+ </mxCell>
28
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-24" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
29
+ <mxGeometry x="240" y="40" width="120" height="80" as="geometry"/>
30
+ </mxCell>
31
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-25" value="" style="triangle;whiteSpace=wrap;html=1;" vertex="1" parent="1">
32
+ <mxGeometry x="240" y="150" width="60" height="80" as="geometry"/>
33
+ </mxCell>
34
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-26" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
35
+ <mxGeometry x="240" y="280" width="60" height="80" as="geometry"/>
36
+ </mxCell>
37
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-27" value="" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" vertex="1" parent="1">
38
+ <mxGeometry x="240" y="420" width="120" height="80" as="geometry"/>
39
+ </mxCell>
40
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-28" value="" style="shape=document;whiteSpace=wrap;html=1;boundedLbl=1;" vertex="1" parent="1">
41
+ <mxGeometry x="240" y="540" width="120" height="80" as="geometry"/>
42
+ </mxCell>
43
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-29" value="" style="shape=internalStorage;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
44
+ <mxGeometry x="240" y="670" width="80" height="80" as="geometry"/>
45
+ </mxCell>
46
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-30" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
47
+ <mxGeometry x="430" y="140" width="120" height="80" as="geometry"/>
48
+ </mxCell>
49
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-31" value="" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
50
+ <mxGeometry x="430" y="40" width="120" height="60" as="geometry"/>
51
+ </mxCell>
52
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-32" value="" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
53
+ <mxGeometry x="430" y="270" width="120" height="80" as="geometry"/>
54
+ </mxCell>
55
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-33" value="" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
56
+ <mxGeometry x="430" y="390" width="120" height="60" as="geometry"/>
57
+ </mxCell>
58
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-34" value="" style="shape=tape;whiteSpace=wrap;html=1;" vertex="1" parent="1">
59
+ <mxGeometry x="430" y="490" width="120" height="100" as="geometry"/>
60
+ </mxCell>
61
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-35" value="" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;" vertex="1" parent="1">
62
+ <mxGeometry x="430" y="620" width="80" height="100" as="geometry"/>
63
+ </mxCell>
64
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-36" value="" style="shape=card;whiteSpace=wrap;html=1;" vertex="1" parent="1">
65
+ <mxGeometry x="610" y="40" width="80" height="100" as="geometry"/>
66
+ </mxCell>
67
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-37" value="" style="shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;" vertex="1" parent="1">
68
+ <mxGeometry x="610" y="180" width="120" height="80" as="geometry"/>
69
+ </mxCell>
70
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-38" value="Actor" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
71
+ <mxGeometry x="610" y="300" width="30" height="60" as="geometry"/>
72
+ </mxCell>
73
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-39" value="Vertical Container" style="swimlane;" vertex="1" parent="1">
74
+ <mxGeometry x="600" y="414" width="200" height="200" as="geometry"/>
75
+ </mxCell>
76
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-40" value="Horizontal Container" style="swimlane;horizontal=0;" vertex="1" parent="1">
77
+ <mxGeometry x="600" y="640" width="200" height="200" as="geometry"/>
78
+ </mxCell>
79
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-41" value="List" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" vertex="1" parent="1">
80
+ <mxGeometry x="30" y="850" width="140" height="120" as="geometry"/>
81
+ </mxCell>
82
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-42" value="Item 1" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-41">
83
+ <mxGeometry y="30" width="140" height="30" as="geometry"/>
84
+ </mxCell>
85
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-43" value="Item 2" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-41">
86
+ <mxGeometry y="60" width="140" height="30" as="geometry"/>
87
+ </mxCell>
88
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-44" value="Item 3" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-41">
89
+ <mxGeometry y="90" width="140" height="30" as="geometry"/>
90
+ </mxCell>
91
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-45" value="List Item" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;" vertex="1" parent="1">
92
+ <mxGeometry x="210" y="850" width="80" height="30" as="geometry"/>
93
+ </mxCell>
94
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-46" value="" style="curved=1;endArrow=classic;html=1;" edge="1" parent="1">
95
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
96
+ <mxPoint x="330" y="900" as="sourcePoint"/>
97
+ <mxPoint x="380" y="850" as="targetPoint"/>
98
+ <Array as="points">
99
+ <mxPoint x="380" y="900"/>
100
+ <mxPoint x="330" y="850"/>
101
+ </Array>
102
+ </mxGeometry>
103
+ </mxCell>
104
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-47" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;" edge="1" parent="1">
105
+ <mxGeometry width="100" height="100" relative="1" as="geometry">
106
+ <mxPoint x="460" y="910" as="sourcePoint"/>
107
+ <mxPoint x="510" y="850" as="targetPoint"/>
108
+ </mxGeometry>
109
+ </mxCell>
110
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-48" value="" style="shape=flexArrow;endArrow=classic;html=1;" edge="1" parent="1">
111
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
112
+ <mxPoint x="560" y="900" as="sourcePoint"/>
113
+ <mxPoint x="610" y="850" as="targetPoint"/>
114
+ </mxGeometry>
115
+ </mxCell>
116
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-49" value="" style="endArrow=none;dashed=1;html=1;" edge="1" parent="1">
117
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
118
+ <mxPoint x="660" y="910" as="sourcePoint"/>
119
+ <mxPoint x="710" y="860" as="targetPoint"/>
120
+ </mxGeometry>
121
+ </mxCell>
122
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-50" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="1">
123
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
124
+ <mxPoint x="760" y="910" as="sourcePoint"/>
125
+ <mxPoint x="810" y="860" as="targetPoint"/>
126
+ </mxGeometry>
127
+ </mxCell>
128
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-51" value="" style="endArrow=none;html=1;" edge="1" parent="1">
129
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
130
+ <mxPoint x="220" y="970" as="sourcePoint"/>
131
+ <mxPoint x="270" y="920" as="targetPoint"/>
132
+ </mxGeometry>
133
+ </mxCell>
134
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-52" value="" style="endArrow=classic;startArrow=classic;html=1;" edge="1" parent="1">
135
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
136
+ <mxPoint x="320" y="970" as="sourcePoint"/>
137
+ <mxPoint x="370" y="920" as="targetPoint"/>
138
+ </mxGeometry>
139
+ </mxCell>
140
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-53" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
141
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
142
+ <mxPoint x="420" y="970" as="sourcePoint"/>
143
+ <mxPoint x="470" y="920" as="targetPoint"/>
144
+ </mxGeometry>
145
+ </mxCell>
146
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-54" value="" style="shape=link;html=1;" edge="1" parent="1">
147
+ <mxGeometry width="100" relative="1" as="geometry">
148
+ <mxPoint x="30" y="1030" as="sourcePoint"/>
149
+ <mxPoint x="130" y="1030" as="targetPoint"/>
150
+ </mxGeometry>
151
+ </mxCell>
152
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-55" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
153
+ <mxGeometry relative="1" as="geometry">
154
+ <mxPoint x="190" y="1030" as="sourcePoint"/>
155
+ <mxPoint x="290" y="1030" as="targetPoint"/>
156
+ </mxGeometry>
157
+ </mxCell>
158
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-56" value="Label" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-55">
159
+ <mxGeometry relative="1" as="geometry"/>
160
+ </mxCell>
161
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-57" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
162
+ <mxGeometry relative="1" as="geometry">
163
+ <mxPoint x="340" y="1030" as="sourcePoint"/>
164
+ <mxPoint x="500" y="1030" as="targetPoint"/>
165
+ </mxGeometry>
166
+ </mxCell>
167
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-58" value="Label" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-57">
168
+ <mxGeometry relative="1" as="geometry"/>
169
+ </mxCell>
170
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-59" value="Source" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;" connectable="0" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-57">
171
+ <mxGeometry x="-1" relative="1" as="geometry"/>
172
+ </mxCell>
173
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-60" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
174
+ <mxGeometry relative="1" as="geometry">
175
+ <mxPoint x="560" y="1030" as="sourcePoint"/>
176
+ <mxPoint x="720" y="1030" as="targetPoint"/>
177
+ </mxGeometry>
178
+ </mxCell>
179
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-61" value="Label" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-60">
180
+ <mxGeometry relative="1" as="geometry"/>
181
+ </mxCell>
182
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-62" value="Source" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;" connectable="0" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-60">
183
+ <mxGeometry x="-1" relative="1" as="geometry"/>
184
+ </mxCell>
185
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-63" value="Target" style="edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;" connectable="0" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-60">
186
+ <mxGeometry x="1" relative="1" as="geometry"/>
187
+ </mxCell>
188
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-64" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
189
+ <mxGeometry relative="1" as="geometry">
190
+ <mxPoint x="570" y="1070" as="sourcePoint"/>
191
+ <mxPoint x="670" y="1070" as="targetPoint"/>
192
+ </mxGeometry>
193
+ </mxCell>
194
+ <mxCell id="EIdmhRiufcmdx8XjM1u1-65" value="" style="shape=message;html=1;outlineConnect=0;" vertex="1" parent="EIdmhRiufcmdx8XjM1u1-64">
195
+ <mxGeometry width="20" height="14" relative="1" as="geometry">
196
+ <mxPoint x="-10" y="-7" as="offset"/>
197
+ </mxGeometry>
198
+ </mxCell>
199
+ </root>
200
+ </mxGraphModel>
201
+ </diagram>
202
+ </mxfile>
@@ -0,0 +1,10 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="Sk36w1yPGO5rhA4B0xN7" name="Page-1">
3
+ <mxGraphModel dx="416" dy="572" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="0"/>
6
+ <mxCell id="1" parent="0"/>
7
+ </root>
8
+ </mxGraphModel>
9
+ </diagram>
10
+ </mxfile>
@@ -0,0 +1,10 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="Sk36w1yPGO5rhA4B0xN7" name="Page-1">
3
+ <mxGraphModel dx="416" dy="572" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="0"/>
6
+ <mxCell id="1" parent="0"/>
7
+ </root>
8
+ </mxGraphModel>
9
+ </diagram>
10
+ </mxfile>
data/.rubocop.yml CHANGED
@@ -1,4 +1,8 @@
1
1
  require: rubocop-rake
2
+ inherit_mode:
3
+ merge:
4
+ - Exclude # see: https://stackoverflow.com/a/70818366/473923
5
+ - AllowedNames
2
6
  AllCops:
3
7
  TargetRubyVersion: 2.5
4
8
  DisplayCopNames: true
@@ -8,7 +12,6 @@ AllCops:
8
12
  - "_/**/*"
9
13
  - "spec/samples/**/*"
10
14
  - "spec/k_manager/scenarios/**/*"
11
-
12
15
  Metrics/BlockLength:
13
16
  Exclude:
14
17
  - "**/spec/**/*"
@@ -64,6 +67,9 @@ Naming/MemoizedInstanceVariableName:
64
67
  Naming/VariableNumber:
65
68
  Exclude:
66
69
  - "**/spec/**/*"
70
+ Naming/MethodParameterName:
71
+ AllowedNames:
72
+ - as
67
73
  Style/EmptyMethod:
68
74
  Exclude:
69
75
  - "**/spec/**/*"
data/Gemfile CHANGED
@@ -31,14 +31,19 @@ if ENV['KLUE_LOCAL_GEMS']&.to_s&.downcase == 'true'
31
31
  gem 'handlebars-helpers' , path: '../handlebars-helpers'
32
32
  gem 'k_builder' , path: '../k_builder'
33
33
  gem 'k_builder-dotnet' , path: '../k_builder-dotnet'
34
- gem 'k_builder-package_json' , path: '../k_builder-package_json'
34
+ # gem 'k_builder-package_json' , path: '../k_builder-package_json'
35
+ gem 'drawio_dsl' , path: '../drawio_dsl'
35
36
  gem 'k_builder-webpack5' , path: '../k_builder-webpack5'
37
+ gem 'k_config' , path: '../k_config'
36
38
  gem 'k_decor' , path: '../k_decor'
39
+ gem 'k_director' , path: '../k_director'
37
40
  gem 'k_doc' , path: '../k_doc'
38
41
  gem 'k_domain' , path: '../k_domain'
42
+ gem 'k_ext-github' , path: '../k_ext-github'
39
43
  gem 'k_fileset' , path: '../k_fileset'
40
44
  gem 'k_log' , path: '../k_log'
41
45
  gem 'k_type' , path: '../k_type'
42
46
  gem 'k_util' , path: '../k_util'
47
+ gem 'peeky' , path: '../peeky'
43
48
  end
44
49
  end
data/docs/flow.drawio CHANGED
@@ -1,16 +1 @@
1
- <mxfile host="65bd71144e">
2
- <diagram id="AE9tsI4e_FXgj975v7li" name="Page-1">
3
- <mxGraphModel dx="1087" dy="583" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#ffffff" math="0" shadow="0">
4
- <root>
5
- <mxCell id="0"/>
6
- <mxCell id="1" parent="0"/>
7
- <mxCell id="2" value="KManager" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
8
- <mxGeometry x="200" y="70" width="120" height="60" as="geometry"/>
9
- </mxCell>
10
- <mxCell id="3" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
11
- <mxGeometry x="390" y="210" width="120" height="60" as="geometry"/>
12
- </mxCell>
13
- </root>
14
- </mxGraphModel>
15
- </diagram>
16
- </mxfile>
1
+ <mxfile host="Electron" modified="2022-03-15T20:30:15.594Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" version="16.5.1" etag="y7uUaI553n6FR_Tt1bNI" type="device"><diagram id="iz_p9EhzHe2lvTp9jl-W" name="Page-1">5VfbcpswEP0aP6YDEmD8mDrX3qadTCdt3xRYQLaMGCHbkK+vAGFucpq2TqYzxQ9mz2p1OWclLTO83BTXgmTJRx4CmyErLGb4YoaQbVue+quQskEWi3kDxIKGulEH3NFH0KCl0S0NIR80lJwzSbMhGPA0hUAOMCIE3w+bRZwNR81IDBPgLiBsit7TUCbturxF57gBGid6aB/p9T2QYB0Lvk31eDOEo/pp3BvS9qUXmick5PsehC9neCk4l83bplgCq7htaWviro54D/MWkMrnBDy+P7sqpFVE/vm7tZvdfvnhbM+0eLksWz4gVPRoM+Wp+ntbLxKqbixlcSETHvOUsA+cZwq0FbgCKUstLtlKrqBEbpj2QkHltyr8zdzV5vee66LQXddGqQ3FV1Z1FzEoziuhFRZRxpaccVHPFYcE/Cio2krB19DzeIEPD5HyNOurFnWUNg3lfCsC3QrpRCQiBvkEfc5BR7U/gG9AilLFCWBE0t1wSKITNT6068RSL1ovs3Z6PjvCttBm20i3oUj7hEq4y0i9oL3auUNB8jXIINHGiNTIrX5GUutHR7Q5knNWzfJtxFPZa9s8jYxN2tsHNQzk70BIKHrQlFTt9fR20seNo819t3fRQmNJb9vaLfg3MljFqkw+WSt7Z4v8+iu9dVdekwNPa6N6UccZPEOXPlkTkSaUj4RTj++bhMMeXuDwNPz7aCgAmgpgz00CeC8lgP+vCKBuBD/EJgEQdhz3RALYzkiA+VQB3yCA/1L8L/4v/p0x/97r8T89ay7ITjmRda+6RdYNCJiQ316katWEMWA8FmSjuMhAUDUDEGPf587xK70iWkBb1J3ogHfxkF8bG04YZCD4FAeM8ZZ3X7lIQv0i6VAXGYskRbMomyi3NQ+lVWV0YbXVxv1ZWXS8BhrWSuiVyqKn5nOyWulI/hrIOprSyB0VLYZLE1mmS9P9/ZxWZvdRUft6X2748ic=</diagram></mxfile>
data/docs/shapes ADDED
@@ -0,0 +1,75 @@
1
+ tableLine
2
+ table
3
+ tableRow
4
+ cube
5
+ isoRectangle
6
+ waypoint
7
+ isoRectangle
8
+ isoCube
9
+ datastore
10
+ note
11
+ note2
12
+ isoCube2
13
+ cylinder2
14
+ cylinder3
15
+ switch
16
+ folder
17
+ umlState
18
+ card
19
+ tape
20
+ document
21
+ parallelogram
22
+ trapezoid
23
+ curlyBracket
24
+ parallelMarker
25
+ process
26
+ process2
27
+ transparent
28
+ callout
29
+ step
30
+ hexagon
31
+ plus
32
+ ext
33
+ message
34
+ umlActor
35
+ umlBoundary
36
+ umlEntity
37
+ umlDestroy
38
+ umlControl
39
+ umlLifeline
40
+ umlFrame
41
+ lollipop
42
+ requires
43
+ requiredInterface
44
+ providedRequiredInterface
45
+ module
46
+ component
47
+ associativeEntity
48
+ endState
49
+ startState
50
+ link
51
+ flexArrow
52
+ manualInput
53
+ internalStorage
54
+ corner
55
+ crossbar
56
+ tee
57
+ singleArrow
58
+ doubleArrow
59
+ dataStorage
60
+ or
61
+ xor
62
+ loopLimit
63
+ offPageConnector
64
+ tapeData
65
+ orEllipse
66
+ sumEllipse
67
+ sortShape
68
+ collate
69
+ dimension
70
+ partialRectangle
71
+ lineEllipse
72
+ delay
73
+ cross
74
+ display
75
+ filledEdge
data/hooks/update-version CHANGED
@@ -30,4 +30,4 @@ end
30
30
  output.push('')
31
31
 
32
32
  printf "%-25<label>s : %<version>s\n", label: 'GEM VERSION', version: version
33
- File.open('lib/k_manager/version.rb', 'w+') { |f| f.write(output.join("\n")) }
33
+ File.write('lib/k_manager/version.rb', output.join("\n"))
data/k_manager.gemspec CHANGED
@@ -38,13 +38,17 @@ Gem::Specification.new do |spec|
38
38
  spec.require_paths = ['lib']
39
39
  # spec.extensions = ['ext/k_manager/extconf.rb']
40
40
 
41
+ spec.add_dependency 'drawio_dsl', '~> 0.1'
41
42
  spec.add_dependency 'dry-struct', '~> 1'
42
43
  spec.add_dependency 'filewatcher', '~> 2.0.0.beta5'
43
44
  spec.add_dependency 'k_builder', '~> 0.0.0'
45
+ spec.add_dependency 'k_director', '~> 0.1'
44
46
  spec.add_dependency 'k_doc', '~> 0.0.0'
47
+ spec.add_dependency 'k_domain', '~> 0.0.0'
45
48
  spec.add_dependency 'k_ext-github', '~> 0.0.0'
46
49
  spec.add_dependency 'k_fileset', '~> 0.0.0'
47
50
  spec.add_dependency 'k_log', '~> 0.0.0'
51
+
48
52
  # spec.add_dependency 'k_type' , '~> 0.0.0'
49
53
  # spec.add_dependency 'k_util' , '~> 0.0.0'
50
54
  spec.add_dependency 'dry-cli', '~> 0.7.0'
@@ -18,7 +18,7 @@ module KManager
18
18
  raise 'Area name is required' unless @name
19
19
 
20
20
  @namespace = opts[:namespace] || @name
21
- @config = KBuilder.configuration(@name)
21
+ @config = KConfig.configuration(@name)
22
22
  end
23
23
 
24
24
  def resource_manager