Sha256: bc91414c6823d5b81690918986cc72b861cf456567dba739ec3f64a659d6f423

Contents?: true

Size: 433 Bytes

Versions: 4

Compression:

Stored size: 433 Bytes

Contents

# Provides an attribute #full_name that is composed from #first_name and #last_name.
# origin: RM
module PersonNameTrait
  as_trait do

    # validates_presence_of :last_name

    before_validation :store_full_name

    def full_name
      [first_name, last_name].select(&:present?).join(" ")
    end

    def name
      full_name
    end
    
    private

    def store_full_name
      self.full_name = full_name
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
serum-rails-0.2.1 spec/test_apps/rails-2-3/app/models/shared/person_name_trait.rb
serum-rails-0.2.0 spec/test_apps/rails-2-3/app/models/shared/person_name_trait.rb
serum-rails-0.1.1 spec/test_app/app/models/shared/person_name_trait.rb
serum-rails-0.1.0 spec/test_app/app/models/shared/person_name_trait.rb