module MyJohnDeereApi::Validators::AssetLocation

Private Instance Methods

required_attributes() click to toggle source
# File lib/my_john_deere_api/validators/asset_location.rb, line 7
def required_attributes
  [:asset_id, :timestamp, :geometry, :measurement_data]
end
validate_attributes() click to toggle source

Custom validations for this class

# File lib/my_john_deere_api/validators/asset_location.rb, line 14
def validate_attributes
  validate_measurement_data
end
validate_measurement_data() click to toggle source
# File lib/my_john_deere_api/validators/asset_location.rb, line 18
def validate_measurement_data
  unless attributes[:measurement_data].is_a?(Array)
    errors[:measurement_data] ||= 'must be an array'
    return
  end

  attributes[:measurement_data].each do |measurement|
    [:name, :value, :unit].each do |attr|
      unless measurement.has_key?(attr)
        errors[:measurement_data] ||= "must include #{attr}"
        return
      end
    end
  end
end