class OptionParser
Attributes
p[R]
Public Instance Methods
on(attr, *args, &block)
click to toggle source
# File lib/optparse_ex.rb, line 9 def on(attr, *args, &block) if attr.is_a?(Symbol) self.class.class_eval do unless method_defined?(attr) attr_accessor attr else raise "Method #{attr.to_s} is already defined in OptionParser class" end end unless args.first =~ /^\-/ self.send(attr.to_s+"=", args.shift) end _on(*args) do |i| self.send(attr.to_s+"=", i) block.call(i) if block end else args.unshift attr _on(*args, block) end end
Also aliased as: _on