Module: InputHandler
- Defined in:
- lib/terminal_hero/modules/input_handler.rb
Overview
A module containing methods for processing and validating input
Class Method Summary collapse
-
.character_name_valid?(name) ⇒ Boolean
Check if a given character name is valid for creating or loading a character.
-
.process_command_line_args(args, new_game_args: GameData::COMMAND_LINE_ARGUMENTS[:new_game], load_game_args: GameData::COMMAND_LINE_ARGUMENTS[:load_game]) ⇒ Object
Given an array of command-line arguments, return the associated action if any, or else return false.
Class Method Details
.character_name_valid?(name) ⇒ Boolean
Check if a given character name is valid for creating or loading a character
21 22 23 24 25 26 27 28 |
# File 'lib/terminal_hero/modules/input_handler.rb', line 21 def self.character_name_valid?(name) return false unless name.is_a?(String) return false unless (3..15).include?(name.length) return false unless name.match?(/^\w*$/) return false if name.match?(/\s/) return true end |
.process_command_line_args(args, new_game_args: GameData::COMMAND_LINE_ARGUMENTS[:new_game], load_game_args: GameData::COMMAND_LINE_ARGUMENTS[:load_game]) ⇒ Object
Given an array of command-line arguments, return the associated action if any, or else return false
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/terminal_hero/modules/input_handler.rb', line 5 def self.process_command_line_args( args, new_game_args: GameData::COMMAND_LINE_ARGUMENTS[:new_game], load_game_args: GameData::COMMAND_LINE_ARGUMENTS[:load_game] ) return false unless args.is_a?(Array) && !args.empty? args.map(&:downcase) return :new_game if new_game_args.include?(args[0]) return [:load_game, args[1]] if load_game_args.include?(args[0]) && args.length > 1 return :load_game if load_game_args.include?(args[0]) return false end |