Class: Address

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/address.rb

Instance Method Summary collapse

Instance Method Details

#citiesObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'app/models/address.rb', line 46

def cities
  if self.division4
    self.division4.cities
  elsif self.division3 && self.division3.children.empty?
    self.division3.cities
  elsif self.division2 && self.division2.children.empty?
    self.division2.cities
  elsif self.division1 && self.division1.children.empty?
    self.division1.cities
  elsif self.country && self.country.first_level_divisions.empty?
    self.country.cities
  else
    []
  end
end

#coordinatesObject



42
43
44
# File 'app/models/address.rb', line 42

def coordinates
  [lat, lng]
end

#full_addressObject

before_validation :geocode_address



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'app/models/address.rb', line 16

def full_address
  returning address_str = "" do
    if self.address.present?
      address_str << self.address
    end
    if self.city.present?
      address_str << ", #{self.city.name}"
    end
    if self.zip.present?
      address_str << " (#{self.zip})"
    end
    %w(division4 division3 division2 division1).each do |division|
      if self.send(division).present?
        address_str << ", #{self.send(division).name}"
      end
    end
    if self.country.present?
      address_str << ", #{self.country.name}"
    end
  end
end

#mapped?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'app/models/address.rb', line 38

def mapped?
  lat && lng
end