Sha256: 3a9a6a525f6847b78ba83fcd5710cc7f8d7453a3752e550b8c4d98e1b4de5425
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
require 'dm-serializer' module Ixtlan module Models class Locale include DataMapper::Resource def self.default_storage_name "Locale" end unless const_defined? "DEFAULT" DEFAULT = "DEFAULT" ALL = "ALL" end property :id, Serial property :code, String, :required => true , :format => /^[a-z][a-z](_[A-Z][A-Z])?$|^#{DEFAULT}$|^#{ALL}$/, :length => 7, :unique_index => true timestamps :created_at modified_by Models::USER, :created_by def parent c = attribute_get(:code) case c.size when 2 self.model.default when 5 self.model.get!(code[0,2]) else nil end end def self.default first(:code => DEFAULT) end def self.every first(:code => ALL) end def self.first_or_get!(id_or_code) first(:code => id_or_code) || get!(id_or_code) end def self.first_or_get(id_or_code) first(:code => id_or_code) || get(id_or_code) end def hash attribute_get(:code).hash end alias :eql? :== def ==(other) attribute_get(:code).eql?(other.attribute_get(:code)) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ixtlan-0.3.0 | lib/ixtlan/models/locale.rb |