k_director 0.16.2 → 0.16.5
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/docs/CHANGELOG.md +25 -0
- data/lib/k_director/builders/dom_builder.rb +10 -6
- data/lib/k_director/directors/base_director.rb +29 -5
- data/lib/k_director/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76d03ecb47b4ab1d6b78fe4cef725c62f653544d6545f10f7bc70632ca6f5c54
|
4
|
+
data.tar.gz: 93828d501cd06d33bcd3ae8a60b22e15b7aa38372d33579b7fce2457aec7429e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d95faef7de2dbc93c8cfb5bd460859e687bde303884c53321b4c4682ff1f0f8ad27ac12d48baf86af159bffe25d2ce5dbad903770c1922493164149c5e3c7208
|
7
|
+
data.tar.gz: 21edd00b2cdf4ea482d4ccce41954543e7e86971e027d1e5bc13105a58b432e9468002416737a00c51396067bb986e2c2857afc3d894e26f977dd5e53f2de407
|
data/docs/CHANGELOG.md
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
+
## [0.16.4](https://github.com/klueless-io/k_director/compare/v0.16.3...v0.16.4) (2022-07-09)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add default on_exist and on_action ([36d0634](https://github.com/klueless-io/k_director/commit/36d06345f803fbbd97f0c9dd44c7bcff123b4c51))
|
7
|
+
* add default on_exist and on_action ([6f4003e](https://github.com/klueless-io/k_director/commit/6f4003eb447205829c15375adaf06f1a32126349))
|
8
|
+
* improve default on_exist and on_action ([c89ed83](https://github.com/klueless-io/k_director/commit/c89ed830d6b9b322539f4b5bf4abfb649312501f))
|
9
|
+
|
10
|
+
## [0.16.3](https://github.com/klueless-io/k_director/compare/v0.16.2...v0.16.3) (2022-07-08)
|
11
|
+
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
* add json_dom support ([03d0b5e](https://github.com/klueless-io/k_director/commit/03d0b5e2de6b4f37780416acd4c72bd2ea9b2eb6))
|
16
|
+
* add json_dom support ([ef623b9](https://github.com/klueless-io/k_director/commit/ef623b913122314618dce195e4050594c802f3ad))
|
17
|
+
|
18
|
+
## [0.16.2](https://github.com/klueless-io/k_director/compare/v0.16.1...v0.16.2) (2022-07-08)
|
19
|
+
|
20
|
+
|
21
|
+
### Bug Fixes
|
22
|
+
|
23
|
+
* add json_dom support ([f42994a](https://github.com/klueless-io/k_director/commit/f42994ab0854fda6574f20d5ff5e81f06692c4bc))
|
24
|
+
* add json_dom support ([8d3c142](https://github.com/klueless-io/k_director/commit/8d3c142b1e2fc6584a66f97e31df664163a0975f))
|
25
|
+
|
1
26
|
## [0.16.1](https://github.com/klueless-io/k_director/compare/v0.16.0...v0.16.1) (2022-04-28)
|
2
27
|
|
3
28
|
|
@@ -58,12 +58,12 @@ module KDirector
|
|
58
58
|
end
|
59
59
|
|
60
60
|
# add value to array
|
61
|
-
# add(:a, 1)
|
62
|
-
# add(:a, 2)
|
63
|
-
# add(:a, 3)
|
64
|
-
# add(:a, {key: 1})
|
65
|
-
# add(:a, {key: 2})
|
66
|
-
# add(:a, {key: 3})
|
61
|
+
# add(:a, value: 1)
|
62
|
+
# add(:a, value: 2)
|
63
|
+
# add(:a, value: 3)
|
64
|
+
# add(:a, value: {key: 1})
|
65
|
+
# add(:a, value: {key: 2})
|
66
|
+
# add(:a, value: {key: 3})
|
67
67
|
def add(*keys, value: nil, default_value: nil)
|
68
68
|
size = keys.size
|
69
69
|
|
@@ -86,6 +86,10 @@ module KDirector
|
|
86
86
|
KUtil.data.to_open_struct(@dom)
|
87
87
|
end
|
88
88
|
|
89
|
+
def to_json(*args)
|
90
|
+
JSON.pretty_generate(dom, *args)
|
91
|
+
end
|
92
|
+
|
89
93
|
private
|
90
94
|
|
91
95
|
def initialize_hierarchy(keys)
|
@@ -18,6 +18,12 @@ module KDirector
|
|
18
18
|
new(k_builder, builder, **opts)
|
19
19
|
end
|
20
20
|
|
21
|
+
def defaults(**opts)
|
22
|
+
default_builder_type(opts[:builder_type]) if opts[:builder_type]
|
23
|
+
default_on_exist(opts[:on_exist]) if opts[:on_exist]
|
24
|
+
default_on_action(opts[:on_action]) if opts[:on_action]
|
25
|
+
end
|
26
|
+
|
21
27
|
def default_builder_type(type)
|
22
28
|
@builder_type = type
|
23
29
|
end
|
@@ -27,12 +33,31 @@ module KDirector
|
|
27
33
|
|
28
34
|
@builder_type = KDirector::Builders::ActionsBuilder
|
29
35
|
end
|
36
|
+
|
37
|
+
# valid values %i[skip write compare]
|
38
|
+
def default_on_exist(on_exist)
|
39
|
+
@on_exist = on_exist
|
40
|
+
end
|
41
|
+
|
42
|
+
def on_exist
|
43
|
+
@on_exist ||= :skip
|
44
|
+
end
|
45
|
+
|
46
|
+
# valid values %i[queue execute]
|
47
|
+
def default_on_action(on_action)
|
48
|
+
@on_action = on_action
|
49
|
+
end
|
50
|
+
|
51
|
+
def on_action
|
52
|
+
@on_action ||= :queue
|
53
|
+
end
|
30
54
|
end
|
31
55
|
|
32
56
|
attr_reader :builder
|
33
57
|
attr_reader :k_builder
|
34
58
|
attr_reader :options
|
35
59
|
|
60
|
+
# rubocop:disable Metrics/AbcSize
|
36
61
|
def initialize(k_builder, builder, **opts)
|
37
62
|
@k_builder = k_builder
|
38
63
|
@builder = builder
|
@@ -40,10 +65,11 @@ module KDirector
|
|
40
65
|
|
41
66
|
@options.director_name ||= default_director_name
|
42
67
|
@options.template_base_folder ||= default_template_base_folder
|
43
|
-
@options.on_exist ||=
|
44
|
-
@options.on_action ||=
|
68
|
+
@options.on_exist ||= self.class.on_exist # %i[skip write compare]
|
69
|
+
@options.on_action ||= self.class.on_action # %i[queue execute]
|
45
70
|
@options.active = true unless defined?(@options.active)
|
46
71
|
end
|
72
|
+
# rubocop:enable Metrics/AbcSize
|
47
73
|
|
48
74
|
def data(name = nil, **opts)
|
49
75
|
KDirector::Directors::Data.new(self, name, **opts)
|
@@ -68,9 +94,7 @@ module KDirector
|
|
68
94
|
end
|
69
95
|
|
70
96
|
def json_dom
|
71
|
-
|
72
|
-
|
73
|
-
JSON.pretty_generate(dom)
|
97
|
+
builder.to_json
|
74
98
|
end
|
75
99
|
|
76
100
|
# Used by child directors to inherit options from parent
|
data/lib/k_director/version.rb
CHANGED
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "k_director",
|
3
|
-
"version": "0.16.
|
3
|
+
"version": "0.16.5",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "k_director",
|
9
|
-
"version": "0.16.
|
9
|
+
"version": "0.16.5",
|
10
10
|
"devDependencies": {
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
12
12
|
"@semantic-release/changelog": "^6.0.1",
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: k_director
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: k_config
|