class Cli
gem ‘colorize’
Attributes
eval_input[R]
instream[R]
messages[R]
outstream[R]
user_input[R]
Public Class Methods
new(instream, outstream)
click to toggle source
# File lib/cli.rb, line 14 def initialize(instream, outstream) @user_input = "" @messages = Messages.new @instream = instream @outstream = outstream end
Public Instance Methods
call()
click to toggle source
# File lib/cli.rb, line 21 def call outstream.puts messages.intro loop do outstream.puts messages.command_request user_input = instream.gets.strip eval_input = EvaluateInput.new(user_input) break if eval_input.exit? process_initial_commands(eval_input) end outstream.puts messages.ending end
process_initial_commands(eval_input)
click to toggle source
# File lib/cli.rb, line 33 def process_initial_commands(eval_input) if eval_input.exit? outstream.puts messages.quit_game elsif eval_input.play? game = Game1.new(instream, outstream, messages) game.play elsif eval_input.instructions? outstream.puts messages.game_instructions else outstream.puts messages.not_valid_input end end