Class: Validation::Guess
- Inherits:
-
Object
- Object
- Validation::Guess
- Defined in:
- lib/codebreaker/validation/guess.rb
Class Method Summary collapse
- .number_in_range?(input_value, range = (Game::CodeMaker::CODE_VALUE_MIN..Game::CodeMaker::CODE_VALUE_MAX)) ⇒ Boolean
- .size_check(input_value) ⇒ Object
- .validation(input_value:) ⇒ Object
Class Method Details
.number_in_range?(input_value, range = (Game::CodeMaker::CODE_VALUE_MIN..Game::CodeMaker::CODE_VALUE_MAX)) ⇒ Boolean
13 14 15 |
# File 'lib/codebreaker/validation/guess.rb', line 13 def self.number_in_range?(input_value, range = (Game::CodeMaker::CODE_VALUE_MIN..Game::CodeMaker::CODE_VALUE_MAX)) input_value.to_i.digits.all? { |digit| range.cover?(digit) } end |
.size_check(input_value) ⇒ Object
9 10 11 |
# File 'lib/codebreaker/validation/guess.rb', line 9 def self.size_check(input_value) input_value.size == Game::CodeMaker::CODE_DIGITS_COUNT end |
.validation(input_value:) ⇒ Object
3 4 5 6 7 |
# File 'lib/codebreaker/validation/guess.rb', line 3 def self.validation(input_value:) return if input_value.scan(/\D/).empty? && size_check(input_value) && number_in_range?(input_value) raise ArgumentError, 'Guess - number, required, length - 4 digits, each digit is a number in the range 1-6' end |