Sha256: 6daf603f75ad00784a7b8f1aba1ae8e8b9b19a2b18fa939e3b371a875cf91f3c

Contents?: true

Size: 647 Bytes

Versions: 9

Compression:

Stored size: 647 Bytes

Contents

module MasterModel
  def self.included(base)
    #base.extend ClassMethods
    base.send :include, InstanceMethods
    base.class_eval do
      acts_as_list
      validates_uniqueness_of :name, :case_sensitive => false,
        :message => I18n.t('Only lowercase letters and numbers are allowed.')
      validates :name, :presence => true
      validates :display_name, :presence => true
      before_validation :set_display_name, :on => :create
      normalize_attributes :name
    end
  end

  module InstanceMethods
    def set_display_name
      self.display_name = "#{I18n.locale}: #{self.name}" if self.display_name.blank?
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
enju_core-0.1.1.pre4 lib/enju_core/master_model.rb
enju_core-0.1.1.pre3 lib/enju_core/master_model.rb
enju_core-0.1.1.pre2 lib/enju_core/master_model.rb
enju_core-0.1.1.pre lib/enju_core/master_model.rb
enju_core-0.1.0.pre lib/enju_core/master_model.rb
enju_core-0.1.0 lib/enju_core/master_model.rb
enju_core-0.0.3 lib/enju_core/master_model.rb
enju_core-0.0.2 lib/enju_core/master_model.rb
enju_core-0.0.1 lib/enju_core/master_model.rb