k_director 0.12.1 → 0.13.0
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 +7 -0
- data/lib/k_director/builders/dom_builder.rb +33 -30
- data/lib/k_director/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0645035ffbb7e6e30736af97a519db598dd647447a6b6786ad36eb95c204cd6c
|
|
4
|
+
data.tar.gz: a7b8f8fe828b920f23334f5924c788b3795200be39b29668ce302b6754ed0ddf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5b275862af73871cde31be688c7e93a5e5fb9fd030fc1b05a6caaee66f152ec6cabec2695f23e29378ae68a48ce53023c4fd485eb45951bfe508a9cfee550db6
|
|
7
|
+
data.tar.gz: 6005f09b2a060177da0c5378d9638d42cae1b97e932d97ed220147a658ee9b2907bae4d3715017923247587309baf230212a81b69fc5ccc6e6feee495c49b432
|
data/docs/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [0.12.1](https://github.com/klueless-io/k_director/compare/v0.12.0...v0.12.1) (2022-02-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* builder can be configured via #default_builder_type ([f82c46f](https://github.com/klueless-io/k_director/commit/f82c46f10aea06b154d5ac957e71cce1216cae4a))
|
|
7
|
+
|
|
1
8
|
# [0.12.0](https://github.com/klueless-io/k_director/compare/v0.11.3...v0.12.0) (2022-02-11)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -17,18 +17,18 @@ module KDirector
|
|
|
17
17
|
# Set many key/value pairs gainst a group
|
|
18
18
|
#
|
|
19
19
|
# example:
|
|
20
|
-
#
|
|
20
|
+
# group_set(:github, repo_name: 'repo-name', organization: 'org-name')
|
|
21
21
|
def group_set(group = nil, **opts)
|
|
22
22
|
return if group.nil? && opts.empty?
|
|
23
23
|
|
|
24
24
|
if group.nil?
|
|
25
25
|
opts.each do |key, value|
|
|
26
|
-
set(key, value)
|
|
26
|
+
set(key, value: value)
|
|
27
27
|
end
|
|
28
28
|
else
|
|
29
29
|
dom[group] = {} if opts.empty? # initialize the group name if no options are provided
|
|
30
30
|
opts.each do |key, value|
|
|
31
|
-
set(group, key, value)
|
|
31
|
+
set(group, key, value: value)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
end
|
|
@@ -39,36 +39,39 @@ module KDirector
|
|
|
39
39
|
# - initialize key/array pairs
|
|
40
40
|
#
|
|
41
41
|
# example:
|
|
42
|
-
# set(:a, 1)
|
|
43
|
-
# set(:a, [])
|
|
44
|
-
# set(:a, [1, 2, 3])
|
|
45
|
-
# set(:a,
|
|
46
|
-
# set(:a, :
|
|
47
|
-
# set(:a, :
|
|
48
|
-
# set(:a, :b, :c,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
# set(:a, value: 1)
|
|
43
|
+
# set(:a, value: [])
|
|
44
|
+
# set(:a, value: [1, 2, 3])
|
|
45
|
+
# set(:a, value: { a: 1, b: 2 })
|
|
46
|
+
# set(:a, value: some_value, default_value: 'use if not supplied')
|
|
47
|
+
# set(:a, value: :b, 'nested value')
|
|
48
|
+
# set(:a, value: :b, :c, 'deeply nested value')
|
|
49
|
+
# set(:a, value: :b, :c, :d, :e, :f, 'depth is no barrier')
|
|
50
|
+
def set(*keys, value: nil, default_value: nil)
|
|
51
|
+
size = keys.size
|
|
52
|
+
|
|
53
|
+
raise ArgumentError, 'set requires 1 or more keys' if size < 1
|
|
54
|
+
|
|
55
|
+
target = initialize_hierarchy(keys)
|
|
56
|
+
|
|
57
|
+
set_kv(target, keys[size - 1], value, default_value: default_value)
|
|
57
58
|
end
|
|
58
59
|
|
|
59
60
|
# add value to array
|
|
60
|
-
#
|
|
61
|
-
# add(:a,
|
|
62
|
-
# add(:a,
|
|
63
|
-
# add(:a,
|
|
64
|
-
|
|
65
|
-
|
|
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})
|
|
67
|
+
def add(*keys, value: nil, default_value: nil)
|
|
68
|
+
size = keys.size
|
|
66
69
|
|
|
67
|
-
raise ArgumentError, 'add requires
|
|
70
|
+
raise ArgumentError, 'add requires 1 or more keys' if size < 1
|
|
68
71
|
|
|
69
|
-
target = initialize_hierarchy(
|
|
72
|
+
target = initialize_hierarchy(keys)
|
|
70
73
|
|
|
71
|
-
add_kv(target,
|
|
74
|
+
add_kv(target, keys[size - 1], value, default_value: default_value)
|
|
72
75
|
end
|
|
73
76
|
|
|
74
77
|
def debug
|
|
@@ -85,12 +88,12 @@ module KDirector
|
|
|
85
88
|
|
|
86
89
|
private
|
|
87
90
|
|
|
88
|
-
def initialize_hierarchy(
|
|
91
|
+
def initialize_hierarchy(keys)
|
|
89
92
|
target = @dom
|
|
90
93
|
|
|
91
|
-
return target unless
|
|
94
|
+
return target unless keys.size > 1
|
|
92
95
|
|
|
93
|
-
|
|
96
|
+
keys.slice(0..-2).each_with_index do |key, _index|
|
|
94
97
|
target[key] = {} unless target.key?(key)
|
|
95
98
|
target = target[key]
|
|
96
99
|
end
|
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.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "k_director",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.13.0",
|
|
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