rake-commander 0.2.5 → 0.2.7

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: 580b47f2dc5213236846d91e47832787c2f1d50cd396dae322ea1ab91b6c31f7
4
- data.tar.gz: 348609827f993bea3b61a9ca43d59456a98f093bd1029e1988bf2f2862633ee2
3
+ metadata.gz: 40a9bf85b97c840145e1d31ef9370061f3ea967ceff7fe11ee3cc1b140b5e5fc
4
+ data.tar.gz: 1d92bdaf2ea26fed4970ed218472e4229e636c0fe1c8ab76bd71dc45ea98586a
5
5
  SHA512:
6
- metadata.gz: aae7e0db0dcd102dc43b4a1a5f1281be80ddb6246edaeb5507b1bf17d88f6cca7fcac31f090cf10a95176eaf880a891b937b5136fdcc374003ab0afc2daf622e
7
- data.tar.gz: '0080e78b63488f7ce927e8364a479f3bc11d5f920708b0b640fd0fc3e7668d69edb3940df958a4cd3e667a0842d5c63ac6c89cf548b2f4e239b41db26e30d2fd'
6
+ metadata.gz: 8dd47929f69e7574e16923ebd8a108e50b8b446cbdf20e83cedd1f2c2090d4df837d18d10a0c615cb2d66d42b67f6f541c483674fdc4b1dc580b29a7872f7150
7
+ data.tar.gz: 38cefdecebbd1411e52d801e3d4113cda6f22834777dfa9492cd8a5794dcdf10100e22725cce47de11109e3b889a20dddbc1ef16e03702abbcd07a5291be8520
data/CHANGELOG.md CHANGED
@@ -32,12 +32,22 @@ All notable changes to this project will be documented in this file.
32
32
  - Option to globally enable/disable the 2nd patch?
33
33
  * That would make this gem completely useless.
34
34
 
35
- ## [0.2.6] - 2023-05-xx
35
+ ## [0.2.8] - 2023-05-xx
36
36
 
37
37
  ### Added
38
38
  ### Fixed
39
39
  ### Changed
40
40
 
41
+ ## [0.2.7] - 2023-05-01
42
+
43
+ ### Fixed
44
+ - `RakeCommander::Option#desc` when fetching from other, should not fetch array but single value.
45
+
46
+ ## [0.2.6] - 2023-05-01
47
+
48
+ ### Changed
49
+ - `RakeCommander::Option` configure_other should only apply when the instance vars are not defined.
50
+
41
51
  ## [0.2.5] - 2023-05-01
42
52
 
43
53
  ### Changed
@@ -125,11 +125,12 @@ class RakeCommander
125
125
 
126
126
  # @return [Hash] keyed arguments to create a new object
127
127
  def dup_key_arguments
128
+ configure_other
128
129
  {}.tap do |kargs|
129
130
  kargs.merge!(short: short.dup.freeze) if short
130
131
  kargs.merge!(name: name_full.dup.freeze) if name_full
131
- kargs.merge!(desc: desc.dup) if desc
132
- kargs.merge!(default: default.dup) if default?
132
+ kargs.merge!(desc: @desc.dup) if @desc
133
+ kargs.merge!(default: @default.dup) if default?
133
134
  kargs.merge!(type: @type_coercion) if @type_coercion.is_a?(Class)
134
135
  kargs.merge!(required: required?)
135
136
  end
@@ -228,17 +229,22 @@ class RakeCommander
228
229
 
229
230
  # It consumes `other_args`, to prevent direct overrides to be overriden by it.
230
231
  def configure_other
231
- if type = other_args.find {|arg| arg.is_a?(Class)}
232
- @type_coercion = type
233
- other_args.delete(type)
234
- end
235
- if value = other_args.find {|arg| arg.is_a?(String)}
236
- @desc = value
237
- other_args.dup.each do |val|
238
- other_args.delete(val) if val.is_a?(String)
239
- end
240
- end
232
+ @type_coertion ||= fetch_type_from_other
233
+ @desc ||= fetch_desc_from_other
241
234
  nil
242
235
  end
236
+
237
+ def fetch_type_from_other
238
+ return nil unless type = other_args.find {|arg| arg.is_a?(Class)}
239
+ other_args.delete(type)
240
+ end
241
+
242
+ def fetch_desc_from_other
243
+ return nil unless value = other_args.find {|arg| arg.is_a?(String)}
244
+ other_args.dup.each do |val|
245
+ other_args.delete(val) if val.is_a?(String)
246
+ end
247
+ value
248
+ end
243
249
  end
244
250
  end
@@ -1,3 +1,3 @@
1
1
  class RakeCommander
2
- VERSION = '0.2.5'.freeze
2
+ VERSION = '0.2.7'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-commander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura Samper