Module: Jing

Defined in:
lib/jing.rb,
lib/jing/version.rb

Defined Under Namespace

Classes: Jing

Constant Summary collapse

VERSION =
"0.1.8"

Class Method Summary collapse

Class Method Details

.cli!Object



176
177
178
179
180
181
182
183
# File 'lib/jing.rb', line 176

def self.cli!
  cmd = ARGV[0]
  commands = Jing.instance_methods(false).grep(/!$/).map{|e| e[0..-2]}
  abort("usage: #{File.basename($0)} <#{commands.join('|')}>") unless commands.include?(cmd)
  opts = ARGV[1..-1].each_slice(2).reduce({}){|s,(k,v)| s[k.match(/^\-*(.*)$/)[1].to_sym] = v; s}
  jing = Jing.new(opts)
  jing.send(:"#{cmd}!", opts)
end