Class: Clip::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/clip.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(short, long, options) ⇒ Option

Returns a new instance of Option.



266
267
268
269
270
271
272
273
# File 'lib/clip.rb', line 266

def initialize(short, long, options)
  @short = short
  @long = long
  @description = options[:desc]
  @default = options[:default]
  @required = options[:required]
  @multi = options[:multi]
end

Instance Attribute Details

#defaultObject

Returns the value of attribute default.



264
265
266
# File 'lib/clip.rb', line 264

def default
  @default
end

#descriptionObject

Returns the value of attribute description.



264
265
266
# File 'lib/clip.rb', line 264

def description
  @description
end

#longObject

Returns the value of attribute long.



264
265
266
# File 'lib/clip.rb', line 264

def long
  @long
end

#multiObject

Returns the value of attribute multi.



264
265
266
# File 'lib/clip.rb', line 264

def multi
  @multi
end

#requiredObject

Returns the value of attribute required.



264
265
266
# File 'lib/clip.rb', line 264

def required
  @required
end

#shortObject

Returns the value of attribute short.



264
265
266
# File 'lib/clip.rb', line 264

def short
  @short
end

Instance Method Details

#has_default?Boolean

Returns:

  • (Boolean)


289
290
291
# File 'lib/clip.rb', line 289

def has_default?
  not @default.nil?
end

#multi?Boolean

Returns:

  • (Boolean)


293
294
295
# File 'lib/clip.rb', line 293

def multi?
  @multi == true
end

#process(parser, value) ⇒ Object



275
276
277
278
279
280
281
282
283
# File 'lib/clip.rb', line 275

def process(parser, value)
  if @multi
    current = parser.send(@long) || []
    current.concat(value.split(','))
    parser.send("#{@long}=".to_sym, current)
  else
    parser.send("#{@long}=".to_sym, value)
  end
end

#required?Boolean

Returns:

  • (Boolean)


285
286
287
# File 'lib/clip.rb', line 285

def required?
  @required == true
end

#usageObject



297
298
299
300
301
302
303
304
305
# File 'lib/clip.rb', line 297

def usage
  out = sprintf('-%-2s --%-10s %s',
                @short,
                @long.to_s.gsub('_', '-').to_sym,
                @description)
  out << " (defaults to '#{@default}')" if @default
  out << " REQUIRED" if @required
  out
end