Method: CommandKit::Options#initialize

Defined in:
lib/command_kit/options.rb

#initialize(options: {}, **kwargs) ⇒ Object

Note:

The CommandKit::Options::Parser#option_parser will populate #options and also call any option blocks with the parsed option values.

Initializes #options and populates the option parser.

Parameters:

  • options (Hash{Symbol => Object}) (defaults to: {})

    Optional prepopulated options hash.



210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/command_kit/options.rb', line 210

def initialize(options: {}, **kwargs)
  @options = options

  super(**kwargs)

  self.class.options.each_value do |option|
    default_value = option.default_value

    @options[option.name] = default_value unless default_value.nil?

    option_parser.on(*option.usage,option.type,option.desc) do |arg,*captures|
      @options[option.name] = arg

      if option.block
        instance_exec(*arg,*captures,&option.block)
      end
    end
  end
end