Sha256: 877058803c0860f5c58c609c7105c27a2c1f6e344f530ebc543e6e7c41361653

Contents?: true

Size: 432 Bytes

Versions: 16

Compression:

Stored size: 432 Bytes

Contents

module Person
  extend ActiveSupport::Concern

  included do

    validates :name, :surname, presence: true

    def to_s
      "#{surname} #{name}"
    end

    def phonetic_reading
      "#{surname_reading} #{name_reading}"
    end

    def age
      Date.today.year - birth_date.year
    end

    ransacker :age do
      Arel::Nodes::SqlLiteral.new(
        "DATE_PART('year', AGE(NOW(), birth_date))"
      )
    end

  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
gaku_core-0.3.0 app/models/concerns/person.rb
gaku_core-0.3.0.pre.4 app/models/concerns/person.rb
gaku_core-0.3.0.pre.3 app/models/concerns/person.rb
gaku_core-0.3.0.pre.2 app/models/concerns/person.rb
gaku_core-0.3.0.pre.1 app/models/concerns/person.rb
gaku_core-0.3.0.pre.0 app/models/concerns/person.rb
gaku-0.2.4 core/app/models/concerns/person.rb
gaku_core-0.2.4 app/models/concerns/person.rb
gaku-0.2.3 core/app/models/concerns/person.rb
gaku_core-0.2.3 app/models/concerns/person.rb
gaku-0.2.2 core/app/models/concerns/person.rb
gaku_core-0.2.2 app/models/concerns/person.rb
gaku-0.2.1 core/app/models/concerns/person.rb
gaku_core-0.2.1 app/models/concerns/person.rb
gaku-0.2.0 core/app/models/concerns/person.rb
gaku_core-0.2.0 app/models/concerns/person.rb