Module: ValidationHelper
- Included in:
- CodebreakerSmn::Game
- Defined in:
- lib/codebreaker_smn/helpers/validation_helper.rb
Overview
Validate parameters
Instance Method Summary collapse
- #not_empty_string(input) ⇒ Object
- #positive_integer(input) ⇒ Object
- #valid_digits(input) ⇒ Object
- #valid_guess_length(input) ⇒ Object
- #valid_name?(username) ⇒ Boolean
- #valid_username_length(username) ⇒ Object
- #validate_guess(input) ⇒ Object
Instance Method Details
#not_empty_string(input) ⇒ Object
18 19 20 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 18 def not_empty_string(input) (input.is_a? String) && !(input.empty?) end |
#positive_integer(input) ⇒ Object
26 27 28 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 26 def positive_integer(input) raise ValidationError unless (input.is_a? Integer) && (input.positive?) end |
#valid_digits(input) ⇒ Object
34 35 36 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 34 def valid_digits(input) raise ValidationError if !(input.match(/[1-6]+/)) end |
#valid_guess_length(input) ⇒ Object
30 31 32 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 30 def valid_guess_length(input) raise ValidationError if !(input.size.eql?(4)) end |
#valid_name?(username) ⇒ Boolean
6 7 8 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 6 def valid_name?(username) not_empty_string(username) && valid_username_length(username) end |
#valid_username_length(username) ⇒ Object
22 23 24 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 22 def valid_username_length(username) username.size.between?(3, 20) end |
#validate_guess(input) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/codebreaker_smn/helpers/validation_helper.rb', line 10 def validate_guess(input) input.split("").each { |char| positive_integer(char.to_i) } valid_guess_length(input) valid_digits(input) end |