k_director 0.12.1 → 0.14.1

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: 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: