k_director 0.4.1 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0036ab3aba8fde78577b1c3e02d9adb122d14631c309eb6cd8e849d43777928c
4
- data.tar.gz: 7566359e95804068637fd4e52da588a8445d978d0986cbbc2cc6b84063728a30
3
+ metadata.gz: '0208f9ecd1fa6a0a1a649266a9a6a823e7db688c632e9f79681c9386d6a4a3fb'
4
+ data.tar.gz: '08140ee775462704f34ade6c236000ed615e877007b9fc1d48dc748de222c72b'
5
5
  SHA512:
6
- metadata.gz: 004ca6fe76f586ef5eb163797dfca591098bd4d3454c0a80366bf9f43f1f4be2a1fd78f94ba522a6d227e9c1b4f6ece76e3e5877989757579d6c44cb9c37a674
7
- data.tar.gz: 9d94e04bfe8b244ff8940700b6c3ce49a100eac27e28f29e14b3f7d27f995ece20178fa9f8380408ef7b03588f472135c6370b1916bdd26bdbc20814d34e8a99
6
+ metadata.gz: 49321aaf3a58a70ea34e0668cfe89e91ff069bffa2301cd90b51ab64a446b41d69dc2501f2d3cea469d47f8af31f57965840b664f55bad79e14321bbcefd436e
7
+ data.tar.gz: 04d83e5f3b8d1f8d89ea07eba68b393836a13d8e0876069d38017d1001fe5bd02f1e68803e208f3e020d783eabd5a3280fa673e5784f5ca7f5816f4eb795369e
data/docs/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.4.1](https://github.com/klueless-io/k_director/compare/v0.4.0...v0.4.1) (2022-01-30)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * refactor dom builder with set/add supporting key hierarchies ([8fee48d](https://github.com/klueless-io/k_director/commit/8fee48d12dfb37210ed87d0fb22222bd2db3da28))
7
+
1
8
  # [0.4.0](https://github.com/klueless-io/k_director/compare/v0.3.0...v0.4.0) (2022-01-29)
2
9
 
3
10
 
@@ -23,6 +23,16 @@ module KDirector
23
23
  @last_action = action
24
24
  end
25
25
 
26
+ # Set many key/value pairs gainst a group
27
+ #
28
+ # example:
29
+ # set_many(:github, { repo_name: 'repo-name', organization: 'org-name' })
30
+ def group_set(group, **opts)
31
+ opts.each do |key, value|
32
+ set(group, key, value)
33
+ end
34
+ end
35
+
26
36
  # set key_set/value pair, can be used for
27
37
  #
28
38
  # - simple key/value pairs
@@ -47,6 +57,10 @@ module KDirector
47
57
  end
48
58
 
49
59
  # add value to array
60
+ # set(:a, [])
61
+ # add(:a, 1])
62
+ # add(:a, 2])
63
+ # add(:a, 3])
50
64
  def add(*keyset_value, default_value: nil)
51
65
  size = keyset_value.size
52
66
 
@@ -58,7 +72,8 @@ module KDirector
58
72
  end
59
73
 
60
74
  def debug
61
- puts JSON.pretty_generate(dom)
75
+ puts JSON.pretty_generate(actions)
76
+ # puts JSON.pretty_generate(dom)
62
77
  # log.structure(dom)
63
78
 
64
79
  self
@@ -24,7 +24,6 @@ module KDirector
24
24
  attr_reader :options
25
25
 
26
26
  def initialize(k_builder, builder, **opts)
27
- @index = 1
28
27
  @k_builder = k_builder
29
28
  @builder = builder
30
29
  @options = OpenStruct.new(**opts)
@@ -36,8 +35,6 @@ module KDirector
36
35
  end
37
36
 
38
37
  def dom
39
- @index += 1
40
- puts "dom#{@index}"
41
38
  builder.dom
42
39
  end
43
40
 
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module KDirector
4
+ module Dsls
5
+ module Children
6
+ # Blueprint DSL is used to add files to the target folder.
7
+ #
8
+ # A blueprint is a recipe that you can follow to build out assets on the target application
9
+ class Blueprint < KDirector::Directors::ChildDirector
10
+ # Add a single file into the code base
11
+ #
12
+ # @param [String] output_filename The output file name, this can be a relative path
13
+ # @param [Hash] **opts The options
14
+ # @option opts [String] :template_filename Template filename can be set or it will default to the same value as the output file name
15
+ # @option opts [String] :template_subfolder Template subfolder
16
+ def add(output_file, **opts)
17
+ template_file = opts[:template_file] || output_file
18
+ template_parts = [template_base_folder, opts[:template_subfolder], template_file].reject(&:blank?)
19
+ template_path = File.join(*template_parts)
20
+
21
+ # maybe template_file should be renamed to template_path in k_builder
22
+ opts[:template_file] = template_path
23
+
24
+ add_file(output_file, **opts)
25
+ end
26
+
27
+ def oadd(name, **opts)
28
+ add(name, **{ open: true }.merge(opts))
29
+ end
30
+
31
+ def tadd(name, **opts)
32
+ add(name, **{ open_template: true }.merge(opts))
33
+ end
34
+
35
+ def fadd(name, **opts)
36
+ add(name, **{ on_exist: :write }.merge(opts))
37
+ end
38
+
39
+ # def template_content(template_file, **opts)
40
+ # template_parts = [template_base_folder, opts[:template_subfolder], template_file].reject(&:blank?)
41
+ # template_file = File.join(*template_parts)
42
+
43
+ # file = k_builder.find_template_file(template_file)
44
+ # File.read(file)
45
+ # end
46
+
47
+ def run_template_script(template_file, **opts)
48
+ template_parts = [template_base_folder, opts[:template_subfolder], template_file].reject(&:blank?)
49
+ template_path = File.join(*template_parts)
50
+
51
+ script = k_builder.process_any_content(template_file: template_path, **opts)
52
+
53
+ run_script(script)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDirector
4
- VERSION = '0.4.1'
4
+ VERSION = '0.5.0'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "k_director",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "k_director",
9
- "version": "0.4.1",
9
+ "version": "0.5.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k_director",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
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.4.1
4
+ version: 0.5.0
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-01-30 00:00:00.000000000 Z
11
+ date: 2022-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_log
@@ -88,6 +88,7 @@ files:
88
88
  - lib/k_director/builders/actions_builder.rb
89
89
  - lib/k_director/directors/base_director.rb
90
90
  - lib/k_director/directors/child_director.rb
91
+ - lib/k_director/directors/data.rb
91
92
  - lib/k_director/dsls/children/blueprint.rb
92
93
  - lib/k_director/dsls/children/github.rb
93
94
  - lib/k_director/version.rb