Class: Clip::Option
- Inherits:
-
Object
- Object
- Clip::Option
- Defined in:
- lib/clip.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#default ⇒ Object
Returns the value of attribute default.
-
#description ⇒ Object
Returns the value of attribute description.
-
#long ⇒ Object
Returns the value of attribute long.
-
#multi ⇒ Object
Returns the value of attribute multi.
-
#required ⇒ Object
Returns the value of attribute required.
-
#short ⇒ Object
Returns the value of attribute short.
Instance Method Summary collapse
- #has_default? ⇒ Boolean
-
#initialize(short, long, options) ⇒ Option
constructor
A new instance of Option.
- #multi? ⇒ Boolean
- #process(parser, value) ⇒ Object
- #required? ⇒ Boolean
- #usage ⇒ Object
Constructor Details
#initialize(short, long, options) ⇒ Option
Returns a new instance of Option.
339 340 341 342 343 344 345 346 |
# File 'lib/clip.rb', line 339 def initialize(short, long, ) @short = short @long = long @description = [:desc] @default = [:default] @required = [:required] @multi = [:multi] end |
Instance Attribute Details
#default ⇒ Object
Returns the value of attribute default.
337 338 339 |
# File 'lib/clip.rb', line 337 def default @default end |
#description ⇒ Object
Returns the value of attribute description.
337 338 339 |
# File 'lib/clip.rb', line 337 def description @description end |
#long ⇒ Object
Returns the value of attribute long.
337 338 339 |
# File 'lib/clip.rb', line 337 def long @long end |
#multi ⇒ Object
Returns the value of attribute multi.
337 338 339 |
# File 'lib/clip.rb', line 337 def multi @multi end |
#required ⇒ Object
Returns the value of attribute required.
337 338 339 |
# File 'lib/clip.rb', line 337 def required @required end |
#short ⇒ Object
Returns the value of attribute short.
337 338 339 |
# File 'lib/clip.rb', line 337 def short @short end |
Instance Method Details
#has_default? ⇒ Boolean
362 363 364 |
# File 'lib/clip.rb', line 362 def has_default? not @default.nil? end |
#multi? ⇒ Boolean
366 367 368 |
# File 'lib/clip.rb', line 366 def multi? @multi == true end |
#process(parser, value) ⇒ Object
348 349 350 351 352 353 354 355 356 |
# File 'lib/clip.rb', line 348 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
358 359 360 |
# File 'lib/clip.rb', line 358 def required? @required == true end |
#usage ⇒ Object
370 371 372 373 374 375 376 377 378 |
# File 'lib/clip.rb', line 370 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 |