Sha256: af9cc8e2c58e2e1a62e16d7d2ae108902a2abf4f6a875608275b2cbc363db443

Contents?: true

Size: 520 Bytes

Versions: 4

Compression:

Stored size: 520 Bytes

Contents

#
# Hood/Neighborhood
#
class Hood
  include Mongoid::Document
  include Geopolitocracy

  field :rank,  type: Integer

  belongs_to :city

  validates :city, presence: true
  validates :name, uniqueness: { scope: :city_id }

  def ensure_slug
    return unless city
    self.slug ||= "#{city.slug}-#{name}"
  end

  def phone
    self[:phone] || city.phone
  end

  def postal
    self[:postal] || city.postal
  end

  def as_json(_opts = {})
    {
      id: id.to_s,
      name: name,
      city: city
    }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
geopolitical-3.0.0 app/models/hood.rb
geopolitical-2.0.0 app/models/hood.rb
geopolitical-1.0.5 app/models/hood.rb
geopolitical-1.0.3 app/models/hood.rb