k_director 0.16.2 → 0.16.5

Sign up to get free protection for your applications and to get access to all the features.
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