Class: Tr3llo::CommandFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/3llo/command_factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(command_buffer) ⇒ CommandFactory

Returns a new instance of CommandFactory.



11
12
13
# File 'lib/3llo/command_factory.rb', line 11

def initialize(command_buffer)
  @command_buffer = command_buffer
end

Instance Method Details

#factoryObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/3llo/command_factory.rb', line 15

def factory
  command, subcommand, *args = command_buffer.strip.split(' ')

  case command
  when 'board'
    BoardCommandFactory.new(subcommand, args).factory
  when 'card'
    CardCommandFactory.new(subcommand, args).factory
  when 'list'
    ListCommandFactory.new(subcommand, args).factory
  when 'help', ''
    Command::HelpCommand.new
  when 'exit'
    Command::ExitCommand.new
  else
    Command::InvalidCommand.new
  end
rescue Container::KeyNotFoundError
  Command::ErrorCommand.new
end