class Atoyrobot::CommandFactory

Constants

COMMANDS

Public Class Methods

init(command, args = []) click to toggle source
# File lib/atoyrobot/command_factory.rb, line 16
def init(command, args = [])
  valid_command(command).new(*args)
rescue ArgumentError
  invalid_command("invalid arguments for #{command}")
end

Private Class Methods

invalid_command(message) click to toggle source
# File lib/atoyrobot/command_factory.rb, line 30
def invalid_command(message)
  raise Atoyrobot::Exceptions::InvalidCommand, message
end
valid_command(command) click to toggle source
# File lib/atoyrobot/command_factory.rb, line 24
def valid_command(command)
  Object.const_get("Atoyrobot::Commands::#{command.capitalize}")
rescue NameError
  invalid_command("invalid command #{command}, available are #{COMMANDS}")
end