class CoordinateValidator

Constants

BOUNDARIES

Public Instance Methods

validate_each(record, attribute, value) click to toggle source
Calls superclass method BaseValidator#validate_each
# File lib/lite/validators/coordinate_validator.rb, line 10
def validate_each(record, attribute, value)
  assert_valid_boundary!
  super
end

Private Instance Methods

assert_valid_boundary!() click to toggle source
# File lib/lite/validators/coordinate_validator.rb, line 17
def assert_valid_boundary!
  assert_valid_option!(:boundary, BOUNDARIES.keys.push(:pair))
end
boundary() click to toggle source
# File lib/lite/validators/coordinate_validator.rb, line 21
def boundary
  options[:boundary] || :pair
end
valid_attr?() click to toggle source
# File lib/lite/validators/coordinate_validator.rb, line 25
def valid_attr?
  case boundary
  when :latitude then valid_boundary?(:latitude)
  when :longitude then valid_boundary?(:longitude)
  else valid_boundary?(:latitude, value.first) && valid_boundary?(:longitude, value.last)
  end
end
valid_boundary?(key, coordinate = nil) click to toggle source
# File lib/lite/validators/coordinate_validator.rb, line 33
def valid_boundary?(key, coordinate = nil)
  (coordinate || value).to_f.abs <= BOUNDARIES[key]
end