# File lib/termtter/client.rb, line 60 def register_command(arg, opts = {}, &block) command = case arg when Command arg when Hash Command.new(arg) when String, Symbol options = { :name => arg } options.merge!(opts) options[:exec_proc] = block Command.new(options) else raise ArgumentError, 'must be given Termtter::Command, Hash or String(Symbol) with block' end @commands[command.name] = command end