class ToDecimal::Validator
Class to validate arguments
Public Class Methods
new(input, base)
click to toggle source
# File lib/to_decimal/validator_class.rb, line 4 def initialize(input, base) @input = input @base = base end
Public Instance Methods
validate()
click to toggle source
# File lib/to_decimal/validator_class.rb, line 9 def validate err_value = "Argument must be an integer or a valid string\ representation of an integer. You input : #{@input}, of class #{@input.class}." raise ArgumentError, err_value unless valid_integer_string_or_integer? err_base = "A number of base #{@base} cannot have a\ digit greater or equal to #{@base}. Check your argument: #{@input}." raise WrongBaseInputError, err_base unless valid_input_base? end
Private Instance Methods
valid_input_base?()
click to toggle source
# File lib/to_decimal/validator_class.rb, line 33 def valid_input_base? digitized_input = @input.to_i.digits digitized_input.none? { |digit| digit >= @base } end
valid_integer?()
click to toggle source
# File lib/to_decimal/validator_class.rb, line 25 def valid_integer? @input.is_a?(Integer) end
valid_integer_string?()
click to toggle source
# File lib/to_decimal/validator_class.rb, line 29 def valid_integer_string? (@input.is_a?(String) && @input.to_i.to_s == @input) end
valid_integer_string_or_integer?()
click to toggle source
# File lib/to_decimal/validator_class.rb, line 21 def valid_integer_string_or_integer? valid_integer_string? || valid_integer? end