k_director 0.14.1 → 0.16.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: bc4ed2368c8a9ce4434bc212d09ea17691937d586839fedbcfbb76b34eeac9e9
4
- data.tar.gz: 52ae2c7386c007d1b07435dbe39726d05bb2264af13b4418d7b3533e74aafc89
3
+ metadata.gz: 2da86957af8afcf2d881268e0b470475e3607dda436389402b01767971305a6d
4
+ data.tar.gz: c9e3a5b28541ce9a22f6c7b4b6b2208490da25b928c6a4cedcfcc8bfe5f6e968
5
5
  SHA512:
6
- metadata.gz: e6b87e758c5c0368c180c16023c592aa973934c80478de589e39930bbfca3c305ada8d897e6df58616e64cc3f1aaba882536db59d81434209899a8636c15f3d7
7
- data.tar.gz: b531ad193ff767017798a52a387cf40841c1a1fc7f2a85b5bfd0a7fec825dd5fea5a9f35405c0fad090c40f6accf0158bdd03221019fe9c2b22f48b27729a420
6
+ metadata.gz: db69ff7f714aa90ec014e7947a988fd84e859b03cdcb239e863791b1a3886fdc921c220e5c6d0b7559285201676fd19d7a32d1a9a960c38bea94b69b5052179b
7
+ data.tar.gz: 62a951216cb0b70d4548702ebb98db2d991830e84fe62ee253defde4a218ff35df8ec5ea1ba76ae14ce03489d0ec44278a64d7a5080c94ac10a77bab689aeebe
data/.rubocop.yml CHANGED
@@ -41,7 +41,7 @@ Metrics/MethodLength:
41
41
  Layout/LineLength:
42
42
  Max: 200
43
43
  # Ignores annotate output
44
- IgnoredPatterns: ['\A# \*\*']
44
+ # IgnoredPatterns: ['\A# \*\*']
45
45
  IgnoreCopDirectives: true
46
46
 
47
47
  Lint/UnusedMethodArgument:
data/docs/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## [0.15.1](https://github.com/klueless-io/k_director/compare/v0.15.0...v0.15.1) (2022-03-05)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add clipboard alias to add_clipboard command ([fc4c8ec](https://github.com/klueless-io/k_director/commit/fc4c8ece391a470436bac4c25dde643575998c40))
7
+
8
+ # [0.15.0](https://github.com/klueless-io/k_director/compare/v0.14.1...v0.15.0) (2022-03-05)
9
+
10
+
11
+ ### Features
12
+
13
+ * add clipboard action to director ([f5a8e4d](https://github.com/klueless-io/k_director/commit/f5a8e4d20c448630792a8ec13faacaf10e151b21))
14
+
15
+ ## [0.14.1](https://github.com/klueless-io/k_director/compare/v0.14.0...v0.14.1) (2022-03-01)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * handle case where base_director does not use a builder with .dom ([a1e868c](https://github.com/klueless-io/k_director/commit/a1e868c14bc0e331494e428b77113691c88efd16))
21
+
1
22
  # [0.14.0](https://github.com/klueless-io/k_director/compare/v0.13.0...v0.14.0) (2022-02-27)
2
23
 
3
24
 
data/k_director.gemspec CHANGED
@@ -47,5 +47,4 @@ 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'
51
50
  end
@@ -160,6 +160,25 @@ module KDirector
160
160
  # rubocop:enable Naming/AccessorMethodName
161
161
  alias cd set_current_folder_action
162
162
 
163
+ # Add content to the clipboard
164
+ #
165
+ # @option opts [String] :content Supply the content that you want to write to the file
166
+ # @option opts [String] :template Supply the template that you want to write to the file, template will be processed ('nobody') From address
167
+ # @option opts [String] :content_file File with content, file location is based on where the program is running
168
+ # @option opts [String] :template_file File with handlebars templated content that will be transformed, file location is based on the configured template_path
169
+ #
170
+ # Extra options will be used as data for templates, e.g
171
+ # @option opts [String] :to Recipient email
172
+ # @option opts [String] :body The email's body
173
+ def add_clipboard(**opts)
174
+ # RUN (not handle), current folder effects subsequent actions and so it needs to be executed straight away.
175
+ run_action(k_builder.add_clipboard_action(**opts))
176
+
177
+ self
178
+ end
179
+ alias clipboard_copy add_clipboard
180
+ alias clipboard add_clipboard
181
+
163
182
  # Run a command using shell, this is useful with command line tools
164
183
  def run_command(command)
165
184
  handle_action(k_builder.run_command_action(command))
File without changes
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module KDirector
4
+ module Dsls
5
+ # BuilderOptionsDsl is a DSL for generating builder options.
6
+ class BuilderOptionsDsl < KDirector::Directors::BaseDirector
7
+ def initialize(k_builder, builder, **opts)
8
+ super(k_builder, builder, **opts)
9
+
10
+ dom[:option_groups] = []
11
+ end
12
+
13
+ def default_template_base_folder
14
+ 'ruby/components/builder_options'
15
+ end
16
+
17
+ def add_group(name, params: [], flags: [], description: nil)
18
+ group = {
19
+ name: name,
20
+ params: params,
21
+ flags: flags,
22
+ description: description
23
+ }
24
+
25
+ dom[:option_groups] << group
26
+
27
+ self
28
+ end
29
+
30
+ # def build_options_builder(file)
31
+ # .add_file('builder_options.rb',
32
+ # template_file: 'ruby/components/builder_options/builder_options.rb',
33
+ # dom: director.dom,
34
+ # on_exist: :write)
35
+
36
+ # end
37
+ end
38
+ end
39
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDirector
4
- VERSION = '0.14.1'
4
+ VERSION = '0.16.0'
5
5
  end
data/lib/k_director.rb CHANGED
@@ -5,7 +5,6 @@ require 'k_log'
5
5
  require 'k_util'
6
6
  require 'k_builder'
7
7
  require 'k_ext/github'
8
- require 'nokogiri'
9
8
 
10
9
  require_relative 'k_director/version'
11
10
  require_relative 'k_director/builders/dom_builder'
@@ -19,7 +18,8 @@ require_relative 'k_director/dsls/children/package_json_configuration'
19
18
  require_relative 'k_director/dsls/children/package_json'
20
19
  require_relative 'k_director/dsls/nuxt3_dsl'
21
20
  require_relative 'k_director/dsls/ruby_gem_dsl'
22
- require_relative 'k_director/dsls/simple_dsl'
21
+ require_relative 'k_director/dsls/basic_dsl'
22
+ require_relative 'k_director/dsls/builder_options_dsl'
23
23
 
24
24
  module KDirector
25
25
  # raise KDirector::Error, 'Sample message'
@@ -28,7 +28,7 @@ module KDirector
28
28
  # Your code goes here...
29
29
  end
30
30
 
31
- if ENV['KLUE_DEBUG']&.to_s&.downcase == 'true'
31
+ if ENV.fetch('KLUE_DEBUG', 'false').downcase == 'true'
32
32
  namespace = 'KDirector::Version'
33
33
  file_path = $LOADED_FEATURES.find { |f| f.include?('k_director/version') }
34
34
  version = KDirector::VERSION.ljust(9)
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "k_director",
3
- "version": "0.14.1",
3
+ "version": "0.16.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "k_director",
9
- "version": "0.14.1",
9
+ "version": "0.16.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.14.1",
3
+ "version": "0.16.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.14.1
4
+ version: 0.16.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-03-01 00:00:00.000000000 Z
11
+ date: 2022-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_config
@@ -80,20 +80,6 @@ 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'
97
83
  description: " KDirector provides domain specific language implementations for
98
84
  code generation\n"
99
85
  email:
@@ -130,13 +116,14 @@ files:
130
116
  - lib/k_director/directors/base_director.rb
131
117
  - lib/k_director/directors/child_director.rb
132
118
  - lib/k_director/directors/data.rb
119
+ - lib/k_director/dsls/basic_dsl.rb
120
+ - lib/k_director/dsls/builder_options_dsl.rb
133
121
  - lib/k_director/dsls/children/blueprint.rb
134
122
  - lib/k_director/dsls/children/github.rb
135
123
  - lib/k_director/dsls/children/package_json.rb
136
124
  - lib/k_director/dsls/children/package_json_configuration.rb
137
125
  - lib/k_director/dsls/nuxt3_dsl.rb
138
126
  - lib/k_director/dsls/ruby_gem_dsl.rb
139
- - lib/k_director/dsls/simple_dsl.rb
140
127
  - lib/k_director/version.rb
141
128
  - package-lock.json
142
129
  - package.json