Sha256: c441aa17211539801c3a1b6640d8f53aa4d4a2c317e83d3b90962d75e5199008
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
class ShellCommand def go i = 0; args = ARGV.dup while i < ARGV.size if md = %r{^[-]}.match( ARGV[i] ) opt = ARGV[i].gsub('-','_') if self.respond_to?( opt ) m = method( opt ) c = m.arity if c > 0 m.call(*args[i+1..i+c]) args[i..i+c] = nil i += c else m.call args.delete_at(i) end else $stderr << "unknown option #{ARGV[i]}\n" exit -1 end end i += 1 end # non-secondary command type if self.respond_to?(:main) main(*args) exit 0 end # secondary command type if args.first if self.respond_to?( args.first ) __send__( *args ) else #begin method_missing( *args ) #rescue NoMethodError # $stderr << "unknown command #{args.join(' ')}\n" # exit -1 #end end elsif self.respond_to?( :default ) default(*args) else $stderr << "nothing to do\n" exit -1 end end #def go end #class ShellCommand
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
facets-0.9.0 | lib/mega/shellcommand.rb |