Sha256: 723c168d34194472a25f050a748dad7dd02300a37bdd260ad821969723d5aa2a
Contents?: true
Size: 654 Bytes
Versions: 1
Compression:
Stored size: 654 Bytes
Contents
require 'commands/base' Dir["#{File.dirname(__FILE__)}/commands/*"].each { |c| require c } module Cloudkick module Command class InvalidCommand < RuntimeError; end class CommandFailed < RuntimeError; end class << self def run(command, args) run_internal(command, args.dup) end def run_internal(command, args) klass, method = parse(command) runner = klass.new(args) raise InvalidCommand unless runner.respond_to?(method) runner.send(method) end def parse(command) return eval("Cloudkick::Command::#{command.capitalize}"), :index end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cloudkick-0.2.0 | lib/cloudkick/command.rb |