Class: OptionParser

Inherits:
Object show all
Defined in:
lib/ergane/core_ext/option_parser.rb

Instance Method Summary collapse

Instance Method Details

#order_recognized!(args) ⇒ Object

Like order!, but leave any unrecognized –switches alone instead of raising InvalidOption.



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/ergane/core_ext/option_parser.rb', line 6

def order_recognized!(args)
  leftover = []
  until args.empty?
    begin
      order!(args) { |nonopt| leftover << nonopt }
      break
    rescue OptionParser::InvalidOption => e
      leftover.concat(e.args)
    end
  end
  args.replace(leftover)
end