rake-commander 0.3.6 → 0.4.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.
@@ -3,31 +3,34 @@ class RakeCommander
3
3
  module Name
4
4
  BOOLEAN_TOKEN = '[no-]'.freeze
5
5
  # Substitions
6
- HYPHEN_START_REGEX = /^-+/.freeze
7
- HYPEN_REGEX = /-+/.freeze
8
- UNDERSCORE_REGEX = /_+/.freeze
9
- WORD_DELIMITER = /[\s=]+/.freeze
6
+ HYPHEN_START_REGEX = /^-+/
7
+ HYPEN_REGEX = /-+/
8
+ UNDERSCORE_REGEX = /_+/
9
+ WORD_DELIMITER = /[\s=]+/
10
10
  # Checkers / Capturers
11
- OPTIONAL_REGEX = /\[\w+\]$/.freeze
12
- SINGLE_HYPHEN_REGEX = /^-(?<options>[^- ][^ ]*)/.freeze
13
- DOUBLE_HYPHEN_REGEX = /^(?:--\[?no-\]?|--)(?<option>[^- ][^ \r\n]*).*$/.freeze
14
- BOOLEAN_NAME_REGEX = /^[^ ]*#{Regexp.escape(BOOLEAN_TOKEN)}[^ ]{2,}/.freeze
11
+ OPTIONAL_REGEX = /\[\w+\]$/
12
+ SINGLE_HYPHEN_REGEX = /^-(?<options>[^- ][^ ]*)/
13
+ DOUBLE_HYPHEN_REGEX = /^(?:--\[?no-\]?|--)(?<option>[^- ][^ \r\n]*).*$/
14
+ BOOLEAN_NAME_REGEX = /^[^ ]*#{Regexp.escape(BOOLEAN_TOKEN)}[^ ]{2,}/
15
15
 
16
16
  # @return [Boolean]
17
17
  def single_hyphen?(value)
18
18
  return false unless value.respond_to?(:to_s)
19
+
19
20
  !!value.to_s.match(SINGLE_HYPHEN_REGEX)
20
21
  end
21
22
 
22
23
  # @return [Boolean]
23
24
  def double_hyphen?(value)
24
25
  return false unless value.respond_to?(:to_s)
26
+
25
27
  !!value.to_s.match(DOUBLE_HYPHEN_REGEX)
26
28
  end
27
29
 
28
30
  # @return [Boolean] whether the name has the boolean switch `[no-]`
29
31
  def boolean_name?(value)
30
32
  return false unless value.respond_to?(:to_s)
33
+
31
34
  !!value.to_s.match(BOOLEAN_NAME_REGEX)
32
35
  end
33
36
 
@@ -35,9 +38,11 @@ class RakeCommander
35
38
  # @return [Boolean]
36
39
  def valid_short?(value, strict: false)
37
40
  return false unless value.respond_to?(:to_s)
41
+
38
42
  value = value.to_s.strip
39
43
  return false if value.empty?
40
44
  return false if strict && !single_hyphen?(value)
45
+
41
46
  value = value.gsub(HYPHEN_START_REGEX, '')
42
47
  value.length == 1
43
48
  end
@@ -46,9 +51,11 @@ class RakeCommander
46
51
  # @return [Boolean]
47
52
  def valid_name?(value, strict: false)
48
53
  return false unless value.respond_to?(:to_s)
54
+
49
55
  value = value.to_s.strip
50
56
  return false if value.empty?
51
57
  return false if strict && !double_hyphen?(value)
58
+
52
59
  name_sym(value).to_s.length > 1
53
60
  end
54
61
 
@@ -59,6 +66,7 @@ class RakeCommander
59
66
  capture_argument_with!(args) do |arg|
60
67
  next false unless arg.is_a?(String) || arg.is_a?(Symbol)
61
68
  next false if symbol && !arg.is_a?(Symbol)
69
+
62
70
  valid_short?(arg, strict: strict)
63
71
  end
64
72
  end
@@ -70,6 +78,7 @@ class RakeCommander
70
78
  capture_argument_with!(args) do |arg|
71
79
  next false unless arg.is_a?(String) || arg.is_a?(Symbol)
72
80
  next false if symbol && !arg.is_a?(Symbol)
81
+
73
82
  valid_name?(arg, strict: strict)
74
83
  end
75
84
  end
@@ -79,13 +88,16 @@ class RakeCommander
79
88
  # @return [String, Symbol, NilClass] the arg candidate
80
89
  def capture_argument_with!(args)
81
90
  raise ArgumentError, "Expecting Array. Given: #{args.class}" unless args.is_a?(Array)
91
+
82
92
  args.dup.find.with_index do |arg, i|
83
93
  yield(arg).tap do |valid|
84
94
  next unless valid
95
+
85
96
  args.slice!(i)
86
97
  return arg
87
98
  end
88
99
  end
100
+
89
101
  nil
90
102
  end
91
103
 
@@ -94,10 +106,12 @@ class RakeCommander
94
106
  # * `"-d"` becomes `:d`
95
107
  # @return [Symbol, NilClass]
96
108
  def short_sym(value)
97
- return nil unless value
109
+ return unless value
110
+
98
111
  value = value.to_s.gsub(BOOLEAN_TOKEN, '')
99
112
  value = value.gsub(HYPHEN_START_REGEX, '')
100
- return nil unless value = value.chars.first
113
+ return unless value = value.chars.first
114
+
101
115
  value.to_sym
102
116
  end
103
117
 
@@ -110,11 +124,13 @@ class RakeCommander
110
124
  # 3. Replaces any multi-spacing by single space ` `
111
125
  # @return [Symbol, NilClass]
112
126
  def name_sym(value)
113
- return nil unless value
127
+ return unless value
128
+
114
129
  value = value.to_s.gsub(HYPHEN_START_REGEX, '')
115
130
  value = value.gsub(HYPEN_REGEX, '_')
116
131
  value = value.gsub(WORD_DELIMITER, ' ')
117
- return nil if value.empty?
132
+ return if value.empty?
133
+
118
134
  value.to_sym
119
135
  end
120
136
 
@@ -128,14 +144,16 @@ class RakeCommander
128
144
  # @return [Symbol, NilClass]
129
145
  def name_word_sym(value)
130
146
  value = value.to_s.gsub(BOOLEAN_TOKEN, '')
131
- return nil unless value = name_sym(value)
132
- return nil unless value = name_words(value).first
147
+ return unless (value = name_sym(value))
148
+ return unless (value = name_words(value).first)
149
+
133
150
  value.downcase.to_sym
134
151
  end
135
152
 
136
153
  # @return [String, NilClass] it returns the hyphened (`-`) version of a short `value`
137
154
  def short_hyphen(value)
138
- return nil unless value = short_sym(value)
155
+ return unless (value = short_sym(value))
156
+
139
157
  "-#{value}"
140
158
  end
141
159
 
@@ -146,9 +164,11 @@ class RakeCommander
146
164
  # * `:there_we_go` becomes `"--there-we-go"`
147
165
  # @return [String, NilClass] option `name` alone double hypened (`--`)
148
166
  def name_hyphen(value)
149
- return nil unless value = name_sym(value)
167
+ return unless value = name_sym(value)
168
+
150
169
  value = value.to_s.gsub(UNDERSCORE_REGEX, '-')
151
- return nil if value.empty?
170
+ return if value.empty?
171
+
152
172
  "--#{value}"
153
173
  end
154
174
 
@@ -174,6 +194,7 @@ class RakeCommander
174
194
  # @return [Boolean] `true` if `value` does NOT end with `[String]`
175
195
  def argument_required?(value)
176
196
  return false unless value
197
+
177
198
  !argument_optional?(value)
178
199
  end
179
200
 
@@ -185,6 +206,7 @@ class RakeCommander
185
206
  # @return [Boolean] `true` if `value` ends with `[String]`
186
207
  def argument_optional?(value)
187
208
  return true unless value
209
+
188
210
  !!value.match(OPTIONAL_REGEX)
189
211
  end
190
212
 
@@ -194,7 +216,8 @@ class RakeCommander
194
216
  # * `"--there-we-go [ARGUMENT]"` returns `["there-we-go","[ARGUMENT]"]`
195
217
  # @return [Array<String>] the words of `value` without hyphen start
196
218
  def name_words(value)
197
- return nil unless value
219
+ return unless value
220
+
198
221
  value = value.to_s.gsub(HYPHEN_START_REGEX, '')
199
222
  value.to_s.split(WORD_DELIMITER)
200
223
  end
@@ -3,7 +3,7 @@ class RakeCommander
3
3
  module Result
4
4
  class << self
5
5
  def included(base)
6
- super(base)
6
+ super
7
7
  base.extend ClassMethods
8
8
  base.attr_inheritable :options_with_defaults
9
9
  end
@@ -46,7 +46,7 @@ class RakeCommander
46
46
  # 2. We use `task_context` to open up extensibility.
47
47
  # @todo think if it should rather raise an `ArgumentError` when the task
48
48
  # was not defined in an instance object of his class.
49
- def install_task(&task_method)
49
+ def install_task(&task_method) # rubocop:disable Naming/BlockForwarding
50
50
  super(&task_context(&task_method))
51
51
  end
52
52
 
@@ -57,6 +57,7 @@ class RakeCommander
57
57
  def task_context(&task_method)
58
58
  instance = eval('self', task_method.binding, __FILE__, __LINE__)
59
59
  return task_method unless instance.is_a?(self)
60
+
60
61
  proc do |*task_args|
61
62
  # launch `ARGV` parsing
62
63
  instance.options
@@ -72,6 +73,7 @@ class RakeCommander
72
73
  # @return [Proc] the results collector that wraps the middleware.
73
74
  def results_collector(results, &middleware)
74
75
  results = result_defaults(results)
76
+
75
77
  proc do |value, default, short, name, opt|
76
78
  middleware&.call(value, default, short, name, opt)
77
79
  results[name] = results[short] = value.nil?? default : value
@@ -91,12 +93,21 @@ class RakeCommander
91
93
  end
92
94
  end
93
95
 
96
+ # INSTANCE METHODS
97
+
94
98
  # Launches the options parsing of this class.
95
99
  # @return [Hash] keyed by short.
96
- def options(argv = ARGV, &block)
100
+ def options(argv = ARGV, &block) # rubocop:disable Naming/BlockForwarding
97
101
  return @options if instance_variable_defined?(:@options)
102
+
98
103
  @options = {}
99
- self.class.parse_options(argv, results: @options, leftovers: options_leftovers, &block)
104
+ self.class.parse_options(
105
+ argv,
106
+ results: @options,
107
+ leftovers: options_leftovers,
108
+ &block
109
+ )
110
+
100
111
  @options
101
112
  end
102
113
 
@@ -9,11 +9,13 @@ class RakeCommander
9
9
  # Name of the `Options::Set`
10
10
  def name(value = :not_used)
11
11
  return @name if value == :not_used
12
+
12
13
  @name = value.to_sym
13
14
  end
14
15
 
15
16
  def each(&block)
16
17
  return to_enum(:each) unless block
18
+
17
19
  options.each(&block)
18
20
  end
19
21
  end
@@ -0,0 +1,28 @@
1
+ class RakeCommander
2
+ module Options
3
+ module Type
4
+ ALLOWED_TYPES = [
5
+ Class,
6
+ Array
7
+ ].freeze
8
+
9
+ private
10
+
11
+ def fetch_type!(args)
12
+ args.dup.select do |arg|
13
+ allowed_type?(arg).tap do |is_type|
14
+ next unless is_type
15
+
16
+ args.delete(arg)
17
+ end
18
+ end.first
19
+ end
20
+
21
+ def allowed_type?(value)
22
+ ALLOWED_TYPES.any? do |allowed|
23
+ value.is_a?(allowed)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,5 +1,6 @@
1
1
  require_relative 'options/name'
2
2
  require_relative 'options/description'
3
+ require_relative 'options/type'
3
4
  require_relative 'options/arguments'
4
5
  require_relative 'options/result'
5
6
  require_relative 'options/error'
@@ -9,16 +10,20 @@ class RakeCommander
9
10
  module Options
10
11
  class << self
11
12
  def included(base)
12
- super(base)
13
+ super
14
+
13
15
  base.extend RakeCommander::Base::ClassHelpers
14
16
  base.extend RakeCommander::Base::ClassInheritable
15
17
  base.extend ClassMethods
16
18
  base.attr_inheritable :banner
19
+
17
20
  base.attr_inheritable(:options_hash) do |value, subclass|
18
- next nil unless value
21
+ next unless value
22
+
19
23
  value.values.uniq.each {|opt| subclass.send :add_to_options, opt.dup}
20
24
  subclass.send(:options_hash)
21
25
  end
26
+
22
27
  base.class_resolver :option_class, RakeCommander::Option
23
28
  base.send :include, RakeCommander::Options::Result
24
29
  base.send :include, RakeCommander::Options::Error
@@ -30,15 +35,17 @@ class RakeCommander
30
35
  # Overrides the auto-generated banner
31
36
  def banner(desc = :not_used)
32
37
  return @banner = desc unless desc == :not_used
33
- return @banner if @banner
34
- return task_options_banner if respond_to?(:task_options_banner, true)
38
+ return @banner if @banner
39
+
40
+ task_options_banner if respond_to?(:task_options_banner, true)
35
41
  end
36
42
 
37
43
  # Defines a new option or opens for edition an existing one if `reopen: true` is used.
38
44
  # @note
39
45
  # - If override is `true`, it will with a Warning when same `short` or `name` clashes.
40
- def option(*args, override: true, reopen: false, **kargs, &block)
46
+ def option(*args, override: true, reopen: false, **kargs, &block) # rubocop:disable Naming/BlockForwarding, Style/ArgumentsForwarding
41
47
  return option_reopen(*args, override: override, **kargs, &block) if reopen
48
+
42
49
  opt = option_class.new(*args, **kargs, &block)
43
50
  add_to_options(opt, override: override)
44
51
  end
@@ -52,13 +59,15 @@ class RakeCommander
52
59
  # 2. It will have the effect of overriding existing options
53
60
  # @note when `short` and `name` are provided, `name` takes precedence over `short`
54
61
  # in the lookup (to identify the existing option)
55
- def option_reopen(*args, override: false, **kargs, &block)
56
- aux = option_class.new(*args, **kargs, sample: true, &block)
62
+ def option_reopen(*args, override: false, **kargs, &block) # rubocop:disable Naming/BlockForwarding, Style/ArgumentsForwarding
63
+ aux = option_class.new(*args, **kargs, sample: true, &block) # rubocop:disable Naming/BlockForwarding, Style/ArgumentsForwarding
57
64
  opt = options_hash.values_at(aux.name, aux.short).compact.first
58
65
  return option(*args, **kargs, &block) unless opt
66
+
59
67
  mod = {}.tap do |mkargs|
60
68
  mkargs.merge!(name: opt.name_full) if aux.name_full.is_a?(Symbol)
61
69
  end
70
+
62
71
  replace_in_options(opt, opt.merge(aux, **mod), override: override)
63
72
  end
64
73
 
@@ -77,10 +86,13 @@ class RakeCommander
77
86
  # should be overriden, may they clash
78
87
  # @param options [Enumerable<RakeCommander::Option>]
79
88
  def options_use(opts, override: true)
80
- raise "Could not obtain list of RakeCommander::Option from #{opts.class}" unless opts = to_options(opts)
89
+ msg = "Could not obtain list of RakeCommander::Option from #{opts.class}"
90
+ raise msg unless (opts = to_options(opts))
91
+
81
92
  opts.each do |opt|
82
93
  add_to_options(opt.deep_dup, override: override)
83
94
  end
95
+
84
96
  self
85
97
  end
86
98
 
@@ -103,6 +115,7 @@ class RakeCommander
103
115
  def options_hash(with_implicit: false)
104
116
  @options_hash ||= {}
105
117
  return @options_hash unless with_implicit
118
+
106
119
  @options_hash.merge(implicit_shorts)
107
120
  end
108
121
 
@@ -153,7 +166,7 @@ class RakeCommander
153
166
  end
154
167
 
155
168
  # @return [OptionParser]
156
- def new_options_parser(&block)
169
+ def new_options_parser(&block) # rubocop:disable Naming/BlockForwarding
157
170
  require 'optparse'
158
171
  OptionParser.new(&block)
159
172
  end
@@ -180,6 +193,7 @@ class RakeCommander
180
193
  # @param opts [OptionParser] where the help will be added.
181
194
  def option_help(opts)
182
195
  return false if option?(:help) || option?(:h)
196
+
183
197
  option(:h, :help, 'Prints this help') do
184
198
  puts opts
185
199
  exit(0)
@@ -212,16 +226,19 @@ class RakeCommander
212
226
  # @return [RakeCommander::Option, NilClass] the option that was added, `nil` is returned otherwise.
213
227
  def add_to_options(opt, override: true)
214
228
  name_ref = respond_to?(:name)? " (#{name})" : ''
215
- if sprev = option_get(opt.short)
229
+ if (sprev = option_get(opt.short))
216
230
  return nil unless override
217
231
  puts "Warning#{name_ref}: Overriding option '#{sprev.name}' with short '#{sprev.short}' ('#{opt.name}')"
218
232
  delete_from_options(sprev)
219
233
  end
220
- if nprev = option_get(opt.name)
221
- return nil unless override
234
+
235
+ if (nprev = option_get(opt.name))
236
+ return unless override
237
+
222
238
  puts "Warning#{name_ref}: Overriding option '#{nprev.short}' with name '#{nprev.name}' ('#{opt.short}')"
223
239
  delete_from_options(nprev)
224
240
  end
241
+
225
242
  options_hash[opt.name] = options_hash[opt.short] = opt
226
243
  end
227
244
 
@@ -245,6 +262,7 @@ class RakeCommander
245
262
  add_to_options(opt, override: override).tap do |added_opt|
246
263
  # restore previous status
247
264
  next options_hash[ref.short] = options_hash[ref.name] = ref unless added_opt
265
+
248
266
  delete_empty_keys(options_hash)
249
267
  end
250
268
  end
@@ -254,6 +272,7 @@ class RakeCommander
254
272
  hash.tap do |_h|
255
273
  hash.dup.each do |k, v|
256
274
  next unless v.nil?
275
+
257
276
  hash.delete(k)
258
277
  end
259
278
  end
@@ -11,11 +11,13 @@ class RakeCommander
11
11
 
12
12
  def patch_prepend(_invoked_by)
13
13
  return unless target_defined?
14
+
14
15
  Rake::Application.prepend Patch
15
16
  end
16
17
 
17
18
  def target_defined?
18
19
  return true if defined?(target)
20
+
19
21
  puts "Warning (#{self}): undefined target #{target}"
20
22
  false
21
23
  end
@@ -5,14 +5,17 @@ class RakeCommander
5
5
  # Helper for debugging
6
6
  def rake_comm_debug(msg, prefix = '', num: nil, pid: false)
7
7
  return unless RakeCommander::Patcher.debug?
8
+
8
9
  rake_comm_debug_random_object_id
9
10
  num = num ? "#{num}. " : nil
11
+
10
12
  if pid
11
13
  meta = "(PID: #{Process.pid} ++ Thread: #{Thread.current.object_id} ++ Ruby 'main': #{rake_comm_debug_main_object_id})"
12
14
  msg = "#{prefix}( #{num}#{Rake.application.object_id}) #{msg} #{meta}"
13
15
  elsif num
14
16
  msg = "#{prefix}( #{num}) #{msg} "
15
17
  end
18
+
16
19
  puts msg
17
20
  end
18
21
 
@@ -22,9 +25,11 @@ class RakeCommander
22
25
 
23
26
  def rake_comm_debug_random_object_id
24
27
  return false if @rake_comm_debug_random_object_id
28
+
25
29
  @rake_comm_debug_random_object_id = Array(1..20).sample.times.map do |i|
26
30
  i.to_s.tap(&:object_id)
27
31
  end
32
+
28
33
  true
29
34
  end
30
35
  end
@@ -2,12 +2,13 @@ require_relative 'rake_context/wrapper'
2
2
 
3
3
  class RakeCommander
4
4
  module RakeTask
5
- NAMESPACE_DELIMITER = /:/.freeze
5
+ NAMESPACE_DELIMITER = /:/
6
6
  INHERITABLE_ATTRS = [:namespace].freeze
7
7
 
8
8
  class << self
9
9
  def included(base)
10
- super(base)
10
+ super
11
+
11
12
  base.extend RakeCommander::Base::ClassHelpers
12
13
  base.extend RakeCommander::Base::ClassInheritable
13
14
  base.extend ClassMethods
@@ -25,6 +26,7 @@ class RakeCommander
25
26
  # @return [String] the description of the task
26
27
  def desc(str = :not_used)
27
28
  return @desc if str == :not_used
29
+
28
30
  @desc = str.to_s
29
31
  end
30
32
 
@@ -32,6 +34,7 @@ class RakeCommander
32
34
  # @return [Symbol] the task name
33
35
  def task(name = :not_used)
34
36
  return @task if name == :not_used
37
+
35
38
  @task = name.to_sym
36
39
  end
37
40
 
@@ -39,6 +42,7 @@ class RakeCommander
39
42
  # @return [String] the namespace defined for this `RakeCommander` class.
40
43
  def namespace(name = :not_used)
41
44
  return @namespace if name == :not_used
45
+
42
46
  @namespace = namespace_str(name)
43
47
  end
44
48
 
@@ -65,6 +69,7 @@ class RakeCommander
65
69
  block = spaces.reverse.reduce(block) do |blk, nm|
66
70
  namespace_block(nm, &blk)
67
71
  end
72
+
68
73
  rake.namespace top, &block
69
74
  end
70
75
 
@@ -97,7 +102,10 @@ class RakeCommander
97
102
  def namespace_str(name)
98
103
  name = name.to_s if name.is_a?(Symbol)
99
104
  name = name.to_str if name.respond_to?(:to_str)
100
- raise ArgumentError, "Expected a String or Symbol for a namespace name. Given: #{name.class}" unless name.is_a?(String)
105
+
106
+ msg = "Expected a String or Symbol for a namespace name. Given: #{name.class}"
107
+ raise ArgumentError, msg unless name.is_a?(String)
108
+
101
109
  name
102
110
  end
103
111
 
@@ -144,7 +152,8 @@ class RakeCommander
144
152
  protected
145
153
 
146
154
  def install_task
147
- return unless task_block = task_method
155
+ return unless (task_block = task_method)
156
+
148
157
  self.class.install_task(&task_block)
149
158
  end
150
159
 
@@ -1,3 +1,3 @@
1
1
  class RakeCommander
2
- VERSION = '0.3.6'.freeze
2
+ VERSION = '0.4.1'.freeze
3
3
  end
@@ -12,17 +12,18 @@ Gem::Specification.new do |spec|
12
12
  spec.homepage = "https://github.com/rellampec/rake-commander"
13
13
  spec.licenses = %w[MIT]
14
14
 
15
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
15
+ spec.metadata['rubygems_mfa_required'] = 'true'
16
+
17
+ spec.required_ruby_version = '>= 3.2.2'
18
+
19
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
20
  f.match(%r{^(test|spec|features)/})
17
21
  end
18
22
  spec.bindir = "exe"
19
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
24
  spec.require_paths = ["lib"]
21
25
 
22
- spec.required_ruby_version = '>= 2.7.2'
23
-
24
- spec.add_development_dependency "bundler", ">= 2.4.9", "< 3"
25
- spec.add_development_dependency 'dotenv', '>= 2.7.6', '< 3'
26
+ spec.add_development_dependency 'dotenv', '~> 3'
26
27
  spec.add_development_dependency "rake", ">= 13.0.6", "< 14"
27
28
  spec.add_development_dependency "redcarpet", ">= 3.6.0", "< 4"
28
29
  spec.add_development_dependency "rspec", ">= 3.10.0", "< 4"
metadata CHANGED
@@ -1,53 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-commander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura Samper
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-15 00:00:00.000000000 Z
11
+ date: 2025-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 2.4.9
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '3'
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 2.4.9
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '3'
33
13
  - !ruby/object:Gem::Dependency
34
14
  name: dotenv
35
15
  requirement: !ruby/object:Gem::Requirement
36
16
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 2.7.6
40
- - - "<"
17
+ - - "~>"
41
18
  - !ruby/object:Gem::Version
42
19
  version: '3'
43
20
  type: :development
44
21
  prerelease: false
45
22
  version_requirements: !ruby/object:Gem::Requirement
46
23
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 2.7.6
50
- - - "<"
24
+ - - "~>"
51
25
  - !ruby/object:Gem::Version
52
26
  version: '3'
53
27
  - !ruby/object:Gem::Dependency
@@ -158,8 +132,10 @@ extensions: []
158
132
  extra_rdoc_files: []
159
133
  files:
160
134
  - ".gitignore"
135
+ - ".markdownlint.json"
161
136
  - ".rspec"
162
137
  - ".rubocop.yml"
138
+ - ".ruby-version"
163
139
  - ".yardopts"
164
140
  - CHANGELOG.md
165
141
  - Gemfile
@@ -198,6 +174,7 @@ files:
198
174
  - lib/rake-commander/options/name.rb
199
175
  - lib/rake-commander/options/result.rb
200
176
  - lib/rake-commander/options/set.rb
177
+ - lib/rake-commander/options/type.rb
201
178
  - lib/rake-commander/patcher.rb
202
179
  - lib/rake-commander/patcher/README.md
203
180
  - lib/rake-commander/patcher/application.rb
@@ -212,7 +189,8 @@ files:
212
189
  homepage: https://github.com/rellampec/rake-commander
213
190
  licenses:
214
191
  - MIT
215
- metadata: {}
192
+ metadata:
193
+ rubygems_mfa_required: 'true'
216
194
  post_install_message:
217
195
  rdoc_options: []
218
196
  require_paths:
@@ -221,14 +199,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
199
  requirements:
222
200
  - - ">="
223
201
  - !ruby/object:Gem::Version
224
- version: 2.7.2
202
+ version: 3.2.2
225
203
  required_rubygems_version: !ruby/object:Gem::Requirement
226
204
  requirements:
227
205
  - - ">="
228
206
  - !ruby/object:Gem::Version
229
207
  version: '0'
230
208
  requirements: []
231
- rubygems_version: 3.4.12
209
+ rubygems_version: 3.5.23
232
210
  signing_key:
233
211
  specification_version: 4
234
212
  summary: Classing rake tasks with options. Creating re-usable tasks, options and samples