Skip to content

Instantly share code, notes, and snippets.

@captproton
Created November 9, 2009 17:52
Show Gist options
  • Select an option

  • Save captproton/230133 to your computer and use it in GitHub Desktop.

Select an option

Save captproton/230133 to your computer and use it in GitHub Desktop.
class Shop < ActiveRecord::Base
## validates_presence_of :lat, :lng
acts_as_mappable :auto_geocode => true
validates_presence_of :lat, :lng
before_validation_on_create :geocode_address
def full_address
[address, city].join(' ')
end
def full_address(address)
split = address.split(' ', 2)
self.address = split.first
self.city = split.last
end
private
def geocode_address
geo = GeoKit::Geocoders::MultiGeocoder.geocode(address)
if geo.success
self.lat, self.lng = geo.lat, geo.lng
else
self.address ="Seal Rock"
geoSealRock = GeoKit::Geocoders::MultiGeocoder.geocode("Seal Rock")
if geoSealRock.success
self.lat, self.lng = geoSealRock.lat, geoSealRock.lng
else
errors.add(:address, "Could not geocode address #{self.lat}, #{self.lng}")
end
end
## errors.add(:address, "Could not geocode address") unless geo.success
##self.lat, self.lng = geo.lat, geo.lng if geo.success
end
def find_center
end
def sum
self.inject(0) {|sum, x| sum + x}
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment