Sha256: 4db1165dd10a380c72196327a1ed603408bda3e6c30f6ca8fd20466b8a98f0b7

Contents?: true

Size: 482 Bytes

Versions: 2

Compression:

Stored size: 482 Bytes

Contents

require 'memoist'
class County < ActiveRecord::Base
  extend Memoist

  belongs_to :state
  has_many :zipcodes
  
  validates :name, uniqueness: {:scope => :state_id, :case_sensitive => false}, :presence => true
  
  scope :without_zipcodes, -> { joins("LEFT JOIN zipcodes ON zipcodes.county_id = counties.id").where("zipcodes.county_id IS NULL")}
  scope :without_state, -> {where("state_id IS NULL")}
  
  def cities
    zipcodes.map(&:city).sort.uniq
  end
  memoize :cities
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
us_zipcode-0.1.2 lib/generators/us_zipcode/templates/county_model.rb~
us_zipcode-0.1.1 lib/generators/us_zipcode/templates/county_model.rb~