Sha256: 6928f0aa86869e554dc14bf2d9dcdbc4f5ccd1c45983ca969118e4cd0bd47d11

Contents?: true

Size: 1.09 KB

Versions: 14

Compression:

Stored size: 1.09 KB

Contents

class Country < ActiveRecord::Base
  include MasterModel
  default_scope { order('countries.position') }
  has_many :agents
  has_many :libraries
  has_one :library_group

  # If you wish to change the field names for brevity, feel free to enable/modify these.
  # alias_attribute :iso, :alpha_2
  # alias_attribute :iso3, :alpha_3
  # alias_attribute :numeric, :numeric_3

  # Validations
  validates_presence_of :alpha_2, :alpha_3, :numeric_3
  validates :name, presence: true, format: { with: /\A[0-9A-Za-z][0-9A-Za-z_\-\s,]*[0-9a-z]\Z/ }

  after_save :clear_all_cache
  after_destroy :clear_all_cache

  def self.all_cache
    Rails.cache.fetch('country_all'){Country.all.to_a}
  end

  def clear_all_cache
    Rails.cache.delete('country_all')
  end

  private

  def valid_name?
    true
  end
end

# == Schema Information
#
# Table name: countries
#
#  id           :integer          not null, primary key
#  name         :string(255)      not null
#  display_name :text
#  alpha_2      :string(255)
#  alpha_3      :string(255)
#  numeric_3    :string(255)
#  note         :text
#  position     :integer
#

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
enju_biblio-0.2.0.beta.2 app/models/country.rb
enju_biblio-0.2.0.beta.1 app/models/country.rb
enju_biblio-0.1.3 app/models/country.rb
enju_biblio-0.1.2 app/models/country.rb
enju_biblio-0.1.1 app/models/country.rb
enju_biblio-0.1.0 app/models/country.rb
enju_biblio-0.1.0.pre71 app/models/country.rb
enju_biblio-0.1.0.pre70 app/models/country.rb
enju_biblio-0.1.0.pre69 app/models/country.rb
enju_biblio-0.1.0.pre68 app/models/country.rb
enju_biblio-0.1.0.pre67 app/models/country.rb
enju_biblio-0.1.0.pre66 app/models/country.rb
enju_biblio-0.1.0.pre65 app/models/country.rb
enju_biblio-0.1.0.pre64 app/models/country.rb