k_director 0.12.1 → 0.14.1

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: 299e8ce98da8e9466c4394c2bd5b004a62cc69f3f9f99df5e0d94166de79604c
4
- data.tar.gz: d2919e383af54afd515024ec6c6cc0e11906455680bb1fe62661b2649a32f3e6
3
+ metadata.gz: bc4ed2368c8a9ce4434bc212d09ea17691937d586839fedbcfbb76b34eeac9e9
4
+ data.tar.gz: 52ae2c7386c007d1b07435dbe39726d05bb2264af13b4418d7b3533e74aafc89
5
5
  SHA512:
6
- metadata.gz: afca62f2f2ceeb8bb99aab3d720f23963d4b559144e0388aebdc22bf58deb746da7e86dec8fac60ed90cb76815c146ca8acb9ce868cd2aa1c408b42c6ac2b275
7
- data.tar.gz: 2fb3e677abf07ad9f7ec9cad4c94beaac720e1d1f8cce8cc0d9e12c988f17fde5e8be91ae6187018de18a4cc3cea032fb8ac277e927613dc0e7d57623b9354d9
6
+ metadata.gz: e6b87e758c5c0368c180c16023c592aa973934c80478de589e39930bbfca3c305ada8d897e6df58616e64cc3f1aaba882536db59d81434209899a8636c15f3d7
7
+ data.tar.gz: b531ad193ff767017798a52a387cf40841c1a1fc7f2a85b5bfd0a7fec825dd5fea5a9f35405c0fad090c40f6accf0158bdd03221019fe9c2b22f48b27729a420
data/.builders/boot.rb CHANGED
@@ -68,4 +68,4 @@ resource_manager
68
68
  .glob('generators/**/*.rb')
69
69
  resource_manager.add_resources
70
70
 
71
- KManager.fire_actions(:load_content, :register_document, :load_document)
71
+ KManager.boot
data/docs/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ # [0.14.0](https://github.com/klueless-io/k_director/compare/v0.13.0...v0.14.0) (2022-02-27)
2
+
3
+
4
+ ### Features
5
+
6
+ * update ready for DrawioDSL ([ee5fc75](https://github.com/klueless-io/k_director/commit/ee5fc757c6983b307adcb6bf5e7eb0a887a83afc))
7
+
8
+ # [0.13.0](https://github.com/klueless-io/k_director/compare/v0.12.1...v0.13.0) (2022-02-11)
9
+
10
+
11
+ ### Features
12
+
13
+ * dom builder set method now uses value: and will support hashes as a value ([24145a1](https://github.com/klueless-io/k_director/commit/24145a15d03b9670a605846b5c1dcb4635bb374d))
14
+
15
+ ## [0.12.1](https://github.com/klueless-io/k_director/compare/v0.12.0...v0.12.1) (2022-02-11)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * builder can be configured via #default_builder_type ([f82c46f](https://github.com/klueless-io/k_director/commit/f82c46f10aea06b154d5ac957e71cce1216cae4a))
21
+
1
22
  # [0.12.0](https://github.com/klueless-io/k_director/compare/v0.11.3...v0.12.0) (2022-02-11)
2
23
 
3
24
 
data/k_director.gemspec CHANGED
@@ -47,4 +47,5 @@ Gem::Specification.new do |spec|
47
47
  spec.add_dependency 'k_builder', '~> 0.0.0'
48
48
  spec.add_dependency 'k_ext-github', '~> 0.0.0'
49
49
  spec.add_dependency 'k_util', '~> 0.0.0'
50
+ spec.add_dependency 'nokogiri', '~> 1.13'
50
51
  end
@@ -17,18 +17,18 @@ module KDirector
17
17
  # Set many key/value pairs gainst a group
18
18
  #
19
19
  # example:
20
- # set_many(:github, repo_name: 'repo-name', organization: 'org-name')
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, some_value, default_value: 'use if not supplied')
46
- # set(:a, :b, 'nested value')
47
- # set(:a, :b, :c, 'deeply nested value')
48
- # set(:a, :b, :c, :d, :e, :f, 'depth is no barrier')
49
- def set(*keyset_value, default_value: nil)
50
- size = keyset_value.size
51
-
52
- raise ArgumentError, 'set requires 2 or more arguments' if size < 2
53
-
54
- target = initialize_hierarchy(keyset_value)
55
-
56
- set_kv(target, keyset_value[size - 2], keyset_value[size - 1], default_value: default_value)
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
- # set(:a, [])
61
- # add(:a, 1])
62
- # add(:a, 2])
63
- # add(:a, 3])
64
- def add(*keyset_value, default_value: nil)
65
- size = keyset_value.size
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 2 or more arguments' if size < 2
70
+ raise ArgumentError, 'add requires 1 or more keys' if size < 1
68
71
 
69
- target = initialize_hierarchy(keyset_value)
72
+ target = initialize_hierarchy(keys)
70
73
 
71
- add_kv(target, keyset_value[size - 2], keyset_value[size - 1], default_value: default_value)
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(keys_value)
91
+ def initialize_hierarchy(keys)
89
92
  target = @dom
90
93
 
91
- return target unless keys_value.size > 2
94
+ return target unless keys.size > 1
92
95
 
93
- keys_value.slice(0..-3).each_with_index do |key, _index|
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
@@ -18,15 +18,15 @@ module KDirector
18
18
  new(k_builder, builder, **opts)
19
19
  end
20
20
 
21
+ def default_builder_type(type)
22
+ @builder_type = type
23
+ end
24
+
21
25
  def builder_type
22
26
  return @builder_type if defined? @builder_type
23
27
 
24
28
  @builder_type = KDirector::Builders::ActionsBuilder
25
29
  end
26
-
27
- def default_builder_type(type)
28
- @builder_type = type
29
- end
30
30
  end
31
31
 
32
32
  attr_reader :builder
@@ -58,7 +58,9 @@ module KDirector
58
58
  end
59
59
 
60
60
  def dom
61
- builder.dom
61
+ return builder.dom if defined?(builder.dom)
62
+
63
+ nil
62
64
  end
63
65
 
64
66
  def typed_dom
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDirector
4
- VERSION = '0.12.1'
4
+ VERSION = '0.14.1'
5
5
  end
data/lib/k_director.rb CHANGED
@@ -5,6 +5,7 @@ require 'k_log'
5
5
  require 'k_util'
6
6
  require 'k_builder'
7
7
  require 'k_ext/github'
8
+ require 'nokogiri'
8
9
 
9
10
  require_relative 'k_director/version'
10
11
  require_relative 'k_director/builders/dom_builder'
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "k_director",
3
- "version": "0.12.1",
3
+ "version": "0.14.1",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "k_director",
9
- "version": "0.12.1",
9
+ "version": "0.14.1",
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.12.1",
3
+ "version": "0.14.1",
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.12.1
4
+ version: 0.14.1
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-02-11 00:00:00.000000000 Z
11
+ date: 2022-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_config
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.0.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.13'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.13'
83
97
  description: " KDirector provides domain specific language implementations for
84
98
  code generation\n"
85
99
  email: