module UserInput
Public Instance Methods
classes()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 54 def classes @classes = { } end
define_class_to_group()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 22 def define_class_to_group @class_to_group = { 'intrepid' => 'StarShip', 'sovereign' => 'StarShip', 'galaxy' => 'StarShip', 'ambassador' => 'StarShip', 'excelsior' => 'StarShip', 'constitution' => 'StarShip', 'constitution - refit' => 'StarShip', 'nx' => 'StarShip', 'spaceshuttle' => 'OrbitalShip', 'carrier' => 'SeaShip', 'sloop' => 'SeaShip' } @class_to_group end
define_cli_flags()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 9 def define_cli_flags @flags = { '-c' => "ship class", '-g' => "ship group (starship, seaship, orbitalship)", '-C' => "captain", '-i' => "interactive", '-r' => "random", '-n' => "number (of ships)", '-l' => "letter" } @flags end
define_groups()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 45 def define_groups @groups = { 'star' => 'StarShip', 'sea' => 'SeaShip', 'orbital' => 'OrbitalShip' } @groups end
define_letter_to_class()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 60 def define_letter_to_class @letter_to_class = { 'rev' => 'Sloop', 'cvn' => 'Carrier', 'ov' => 'Spaceshuttle', 'nx' => 'NX', 'none' => 'Constitution', 'a' => 'Constitution - refit', 'b' => 'Excelsior', 'c' => 'Ambassador', 'd' => 'Galaxy', 'e' => 'Sovereign', 'voy' => 'Intrepid' } @letter_to_class end
l_flag()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 87 def l_flag index_of_requested_letter = @params.find_index('-l') + 1 ship_letter = @params[index_of_requested_letter] ship_class = look_up_letter_class(ship_letter) ship_group = look_up_class_group(ship_class) self.build_ship(ship_group, ship_class) end
look_up_class_group(s_class)
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 39 def look_up_class_group(s_class) s_class = s_class.downcase group = @class_to_group[s_class] return group end
look_up_letter_class(letter)
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 77 def look_up_letter_class(letter) s_class = @letter_to_class[letter] return s_class end
print_options(options)
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 82 def print_options(options) # handle arrays and hashes as input # call .each_with_index and output the options end
prompt()
click to toggle source
# File lib/uss-enterprise/interactions.rb, line 3 def prompt print "> " response = $stdin.gets.chomp return response end