class ValuesBase

Private Class Methods

verify_finite_numeric(parameter_name, obj) click to toggle source
# File lib/test_values/values_base.rb, line 27
def self.verify_finite_numeric(parameter_name, obj)
  self.verify_kind_of(parameter_name, Numeric, obj)
  if obj.kind_of?(Float)
    unless obj.finite?
      message = "Parameter #{parameter_name} must be finite, not #{obj}"
      raise ArgumentError.new(message)
    end
  end
end
verify_integer_in_range(parameter_name, range, obj) click to toggle source
# File lib/test_values/values_base.rb, line 11
def self.verify_integer_in_range(parameter_name, range, obj)
  self.verify_kind_of(parameter_name, Integer, obj)
  return true if range.include?(obj)
  message = "Parameter #{parameter_name} must be in range #{range}, not #{obj}"
  raise RangeError.new(message)
end
verify_kind_of(parameter_name, klass, obj) click to toggle source
# File lib/test_values/values_base.rb, line 5
def self.verify_kind_of(parameter_name, klass, obj)
  return true if obj.kind_of?(klass)
  message = "Parameter #{parameter_name} must be instance of #{klass.name}, not #{obj.inspect}"
  raise TypeError.new(message)
end
verify_range_not_empty(parameter_name, range) click to toggle source
# File lib/test_values/values_base.rb, line 18
def self.verify_range_not_empty(parameter_name, range)
  self.verify_kind_of(parameter_name, Range, range)
  return if range.first == range.last
  if range.each.size == 0
    message = "Parameter #{parameter_name} must be a non-empty Range, not #{range}"
    raise ArgumentError.new(message)
  end
end