Module: Geocodable

Included in:
Adviser, Firm
Defined in:
app/models/geocodable.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(model) ⇒ Object



2
3
4
# File 'app/models/geocodable.rb', line 2

def self.included(model)
  model.scope :geocoded, -> { model.where.not(latitude: nil, longitude: nil) }
end

Instance Method Details

#geocode!(coordinates) ⇒ Object



16
17
18
19
# File 'app/models/geocodable.rb', line 16

def geocode!(coordinates)
  self.latitude, self.longitude = coordinates
  save!(callbacks: false)
end

#latitude=(value) ⇒ Object



6
7
8
9
# File 'app/models/geocodable.rb', line 6

def latitude=(value)
  value = value.to_f.round(6) unless value.nil?
  write_attribute(:latitude, value)
end

#longitude=(value) ⇒ Object



11
12
13
14
# File 'app/models/geocodable.rb', line 11

def longitude=(value)
  value = value.to_f.round(6) unless value.nil?
  write_attribute(:longitude, value)
end