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.
266 267 268 269 270 271 272 273 |
# File 'lib/clip.rb', line 266 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.
264 265 266 |
# File 'lib/clip.rb', line 264 def default @default end |
#description ⇒ Object
Returns the value of attribute description.
264 265 266 |
# File 'lib/clip.rb', line 264 def description @description end |
#long ⇒ Object
Returns the value of attribute long.
264 265 266 |
# File 'lib/clip.rb', line 264 def long @long end |
#multi ⇒ Object
Returns the value of attribute multi.
264 265 266 |
# File 'lib/clip.rb', line 264 def multi @multi end |
#required ⇒ Object
Returns the value of attribute required.
264 265 266 |
# File 'lib/clip.rb', line 264 def required @required end |
#short ⇒ Object
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
289 290 291 |
# File 'lib/clip.rb', line 289 def has_default? not @default.nil? end |
#multi? ⇒ 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
285 286 287 |
# File 'lib/clip.rb', line 285 def required? @required == true end |
#usage ⇒ Object
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 |