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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c41ed55fd66c043e43cce56f5236736a6b31fc2b79c200239687215143f516c
4
- data.tar.gz: 2711c6c18aaadc378e6286e07b880e96fb746482e513d3e8f2fa7544af80b071
3
+ metadata.gz: 76d03ecb47b4ab1d6b78fe4cef725c62f653544d6545f10f7bc70632ca6f5c54
4
+ data.tar.gz: 93828d501cd06d33bcd3ae8a60b22e15b7aa38372d33579b7fce2457aec7429e
5
5
  SHA512:
6
- metadata.gz: d7dca0e6e9609f089cb61cd2fb6cbe191856c8854559626241a43bc02e74173bcf0cf84ec965e5cac5411039c937eb97eadc1ea7616164f9e8f871b21fb6c332
7
- data.tar.gz: 2d2728875d7470255a8fbdecbf232064d5daf6bffc574e4e82ef1926d2aeb178fd9db3d4c7122f3c07b5c85adb6a1b451b05cf92574a93b608472eaa98cce174
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 ||= :skip # %i[skip write compare]
44
- @options.on_action ||= :queue # %i[queue execute]
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
- return '{}' if dom.nil?
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDirector
4
- VERSION = '0.16.2'
4
+ VERSION = '0.16.5'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "k_director",
3
- "version": "0.16.2",
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.2",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k_director",
3
- "version": "0.16.2",
3
+ "version": "0.16.5",
4
4
  "description": "Command line and CI/CD tools for k_director",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
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.2
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-08 00:00:00.000000000 Z
11
+ date: 2022-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_config