Module: Geokit::ActsAsMappable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/geokit-rails/acts_as_mappable.rb
Defined Under Namespace
Modules: ClassMethods, Glue Classes: UnsupportedAdapter
Class Method Summary collapse
Instance Method Summary collapse
-
#auto_geocode_address ⇒ Object
this is the callback for auto_geocoding.
Class Method Details
.end_of_reflection_chain(through, klass) ⇒ Object
383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 |
# File 'lib/geokit-rails/acts_as_mappable.rb', line 383 def self.end_of_reflection_chain(through, klass) while through reflection = nil if through.is_a?(Hash) association, through = through.to_a.first else association, through = through, nil end if reflection = klass.reflect_on_association(association) klass = reflection.klass else raise ArgumentError, "You gave #{association} in :through, but I could not find it on #{klass}." end end reflection end |
Instance Method Details
#auto_geocode_address ⇒ Object
this is the callback for auto_geocoding
369 370 371 372 373 374 375 376 377 378 379 380 381 |
# File 'lib/geokit-rails/acts_as_mappable.rb', line 369 def auto_geocode_address address=self.send(auto_geocode_field).to_s geo=Geokit::Geocoders::MultiGeocoder.geocode(address) if geo.success self.send("#{lat_column_name}=", geo.send(:"#{lat_column_name}")) self.send("#{lng_column_name}=", geo.send(:"#{lng_column_name}")) else errors.add(auto_geocode_field, ) end geo.success end |