class CLIArgValidator
Constants
- CONSTANT_TOKENS
- ERROR_MESSAGES
Attributes
cli_args[R]
Public Class Methods
new(cli_args)
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 13 def initialize(cli_args) @cli_args = cli_args end
Public Instance Methods
args_invalid?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 17 def args_invalid? invalid_argument_presence? || invalid_options? || identifiers_invalid? end
args_invalid_msg()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 21 def args_invalid_msg method_names = %w(options identifier_count identifier_token argument_presence) method_names.each_with_object([]) do |method, memo| method = "invalid_#{method}" memo << ERROR_MESSAGES[method] if send("#{method}?") end.join("\n\n") end
Private Instance Methods
cli_args_identifier()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 59 def cli_args_identifier @cli_args_identifier ||= cli_args.identifiers.first end
identifiers_invalid?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 43 def identifiers_invalid? invalid_identifier_count? || malformed_identifier? end
incorrect_option?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 35 def incorrect_option? option_present? && cli_args.options.first != '-e' end
invalid_argument_presence?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 71 def invalid_argument_presence? cli_args.empty? end
invalid_identifier_count?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 47 def invalid_identifier_count? cli_args.identifiers.size != 1 end
invalid_identifier_token?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 51 def invalid_identifier_token? !invalid_identifier_count? && malformed_identifier? end
invalid_options?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 31 def invalid_options? cli_args.options.size > 1 || incorrect_option? end
malformed_identifier?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 55 def malformed_identifier? !(valid_global_variable? || valid_ruby_constant?) end
option_present?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 39 def option_present? !cli_args.options.empty? end
valid_global_variable?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 63 def valid_global_variable? cli_args_identifier[0] == '$' end
valid_ruby_constant?()
click to toggle source
# File lib/pry-globs/cli_arg_validator.rb, line 67 def valid_ruby_constant? cli_args_identifier.split(//).all? { |letter| CONSTANT_TOKENS.include? letter } end