Module: Argh::Attributable::ClassMethods

Defined in:
lib/argh/attributable.rb

Instance Method Summary collapse

Instance Method Details

#argh(name, formatter_klass = DEFAULT_FORMATTER, &block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/argh/attributable.rb', line 12

def argh(name, formatter_klass = DEFAULT_FORMATTER, &block)
  collector = Collector.new(&block)
  mod = Module.new
  mod.send(:define_method, name) do
    formatter = formatter_klass.new collector, self
    formatter.process
  end
  # Extend this module onto ourselves
  self.send(:include, mod)
end