Module: ActiveRecord::Geocodable::Model
- Defined in:
- lib/active_record_geocodable/model.rb
Instance Method Summary collapse
- #complete_address? ⇒ Boolean
- #geo ⇒ Object
- #geocode? ⇒ Boolean
- #geocode_complete_address ⇒ Object
- #geocode_complete_address? ⇒ Boolean
- #geocode_complete_address_error ⇒ Object
- #geocode_complete_address_error_messsage ⇒ Object
- #geocoded? ⇒ Boolean
- #geocoder ⇒ Object
- #geocoding_occured? ⇒ Boolean
- #geocoding_successful? ⇒ Boolean
- #lat? ⇒ Boolean
- #lng? ⇒ Boolean
- #runned_geocoding_successful? ⇒ Boolean
- #set_geocode_data ⇒ Object
Instance Method Details
#complete_address? ⇒ Boolean
66 67 68 |
# File 'lib/active_record_geocodable/model.rb', line 66 def complete_address? !complete_address.blank? end |
#geo ⇒ Object
7 8 9 |
# File 'lib/active_record_geocodable/model.rb', line 7 def geo @geo ||= geocoder.geocode(complete_address) end |
#geocode? ⇒ Boolean
70 71 72 |
# File 'lib/active_record_geocodable/model.rb', line 70 def geocode? true end |
#geocode_complete_address ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/active_record_geocodable/model.rb', line 35 def geocode_complete_address if geocode? && geocode_complete_address? if runned_geocoding_successful? set_geocode_data && true else geocode_complete_address_error false end end end |
#geocode_complete_address? ⇒ Boolean
62 63 64 |
# File 'lib/active_record_geocodable/model.rb', line 62 def geocode_complete_address? complete_address_changed? && complete_address? end |
#geocode_complete_address_error ⇒ Object
54 55 56 |
# File 'lib/active_record_geocodable/model.rb', line 54 def geocode_complete_address_error errors.add(:complete_address, geocode_complete_address_error_messsage) end |
#geocode_complete_address_error_messsage ⇒ Object
58 59 60 |
# File 'lib/active_record_geocodable/model.rb', line 58 def geocode_complete_address_error_messsage "Cannot geocode complete address: #{complete_address}" end |
#geocoded? ⇒ Boolean
27 28 29 |
# File 'lib/active_record_geocodable/model.rb', line 27 def geocoded? lat? && lng? end |
#geocoder ⇒ Object
31 32 33 |
# File 'lib/active_record_geocodable/model.rb', line 31 def geocoder Geokit::Geocoders::MultiGeocoder end |
#geocoding_occured? ⇒ Boolean
11 12 13 |
# File 'lib/active_record_geocodable/model.rb', line 11 def geocoding_occured? !@geo.nil? end |
#geocoding_successful? ⇒ Boolean
15 16 17 |
# File 'lib/active_record_geocodable/model.rb', line 15 def geocoding_successful? geocoding_occured? && geo.success end |
#lat? ⇒ Boolean
19 20 21 |
# File 'lib/active_record_geocodable/model.rb', line 19 def lat? !lat.nil? end |
#lng? ⇒ Boolean
23 24 25 |
# File 'lib/active_record_geocodable/model.rb', line 23 def lng? !lng.nil? end |
#runned_geocoding_successful? ⇒ Boolean
46 47 48 |
# File 'lib/active_record_geocodable/model.rb', line 46 def runned_geocoding_successful? geo && geocoding_successful? end |
#set_geocode_data ⇒ Object
50 51 52 |
# File 'lib/active_record_geocodable/model.rb', line 50 def set_geocode_data !(self.lat = geo.lat).nil? && !(self.lng = geo.lng).nil? end |