Module: ValidationHelper

Included in:
CodebreakerSmn::Game
Defined in:
lib/codebreaker_smn/helpers/validation_helper.rb

Overview

Validate parameters

Instance Method Summary collapse

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

Raises:



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

Raises:



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

Raises:



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

Returns:

  • (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