Skip to content

Instantly share code, notes, and snippets.

@jeffkreeftmeijer
Last active December 16, 2015 18:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jeffkreeftmeijer/5478520 to your computer and use it in GitHub Desktop.
Save jeffkreeftmeijer/5478520 to your computer and use it in GitHub Desktop.
class QuitCommand
def match?(input)
input == 'q'
end
def exectute
puts 'Goodbye'
end
end
class TweetCommand
def match?(input)
input == 'tweet'
end
def exectute
puts 'tweeting'
end
end
class DirectMessageCommand
def match?(input)
input == 'dm'
end
def exectute
puts 'direct messaging'
end
end
class HelpCommand
def match?(input)
input == 'help'
end
def exectute
puts 'helping'
end
end
class NoActionCommand
def match?
true
end
def execute
end
end
def process(input)
quit = QuitCommand.new
tweet = TweetCommand.new
dm = DirectMessageCommand.new
help = HelpCommand.new
no_action = NoActionCommand.new
commands = [quit, tweet, dm, help, no_action]
found_command = commands.find do |command|
command.match?(input)
end
found_command.execute
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment