module Tr3llo::Command::Board

Public Instance Methods

execute(subcommand, args) click to toggle source
# File lib/3llo/command/board.rb, line 8
def execute(subcommand, args)
  case subcommand
  when "list"
    user = Application.fetch_user!()

    Command::Board::List.execute(user[:id])
  when "select"
    board_key, = args
    Utils.assert_string!(board_key, "board key is missing")

    Command::Board::Select.execute(board_key)
  when "add"
    Command::Board::Add.execute()
  else
    handle_invalid_subcommand(subcommand, args)
  end
rescue InvalidCommandError, InvalidArgumentError => exception
  Command::Board::Invalid.execute(exception.message)
end

Private Instance Methods

handle_invalid_subcommand(subcommand, _args) click to toggle source
# File lib/3llo/command/board.rb, line 30
def handle_invalid_subcommand(subcommand, _args)
  case subcommand
  when String
    raise InvalidCommandError.new("#{subcommand.inspect} is not a valid command")
  when NilClass
    raise InvalidCommandError.new("command is missing")
  end
end