Sha256: 59751caa57918c74eddb9b97cb6917f7d6886f6154c3c6dfc53bda1e82037c1b

Contents?: true

Size: 541 Bytes

Versions: 4

Compression:

Stored size: 541 Bytes

Contents

class County < ActiveRecord::Base
  extend ActiveSupport::Memoizable
  attr_accessible :state_id, :region_id, :abbr, :name, :count_seat

  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

4 entries across 4 versions & 1 rubygems

Version Path
my_zipcode_gem-0.1.4 lib/generators/my_zipcode_gem/templates/county_model.rb
my_zipcode_gem-0.1.3 lib/generators/my_zipcode_gem/templates/county_model.rb
my_zipcode_gem-0.1.2 lib/generators/my_zipcode_gem/templates/county_model.rb
my_zipcode_gem-0.1.1 lib/generators/my_zipcode_gem/templates/county_model.rb