Module: Nuggets::Argv::OptionMixin

Defined in:
lib/nuggets/argv/option_mixin.rb

Instance Method Summary collapse

Instance Method Details

#option(*args, &block) ⇒ Object

call-seq:

ARGV.option(short[, long]) -> aString
ARGV.option(short[, long]) { |value| ... } -> anObject

Returns the value associated with the option short (or long) if present in ARGV. Yields that value to the block if given and returns its result.



45
46
47
# File 'lib/nuggets/argv/option_mixin.rb', line 45

def option(*args, &block)
  __opt(block, *args) { |index| at(index + 1) }
end

#option!(*args, &block) ⇒ Object

call-seq:

ARGV.option!(short[, long]) -> aString
ARGV.option!(short[, long]) { |value| ... } -> anObject

Returns the value associated with the option short (or long) if present in ARGV and removes both from ARGV. Yields that value to the block if given and returns its result.



65
66
67
# File 'lib/nuggets/argv/option_mixin.rb', line 65

def option!(*args, &block)
  __opt(block, *args) { |index| delete_at(index); delete_at(index) }
end

#switch(*args) ⇒ Object

call-seq:

ARGV.switch(short[, long]) -> true | false

Whether ARGV includes the switch short (or long).



35
36
37
# File 'lib/nuggets/argv/option_mixin.rb', line 35

def switch(*args)
  !!(__key(*args) { |key| include?(key) })
end

#switch!(*args) ⇒ Object

call-seq:

ARGV.switch!(short[, long]) -> true | false

Whether ARGV includes the switch short (or long). Removes the matching switch from ARGV.



54
55
56
# File 'lib/nuggets/argv/option_mixin.rb', line 54

def switch!(*args)
  !!(__key(*args) { |key| delete(key) })
end