Sha256: d77938295150da99aa33300ffceca200453b55004c4d5ab3103700df566cc0ae

Contents?: true

Size: 660 Bytes

Versions: 40

Compression:

Stored size: 660 Bytes

Contents

module EgovUtils
  class Person < ApplicationRecord

    belongs_to :residence, class_name: 'EgovUtils::Address', optional: true
    has_one :natural_person, dependent: :destroy
    has_one :legal_person, dependent: :destroy

    enum person_type: { natural: 1, legal: 16 }

    validates :person_entity, presence: true

    accepts_nested_attributes_for :residence, :natural_person, :legal_person

    delegate :fullname, :fullname=, to: :person_entity

    def person_entity
      case person_type
      when 'natural'
        natural_person
      when 'legal'
        legal_person
      end
    end

    def to_s
      person_entity.to_s
    end

  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
egov_utils-1.0.3 app/models/egov_utils/person.rb
egov_utils-1.0.2 app/models/egov_utils/person.rb
egov_utils-1.0.1 app/models/egov_utils/person.rb
egov_utils-1.0.0 app/models/egov_utils/person.rb
egov_utils-0.7.5 app/models/egov_utils/person.rb
egov_utils-0.7.4 app/models/egov_utils/person.rb
egov_utils-0.7.3 app/models/egov_utils/person.rb
egov_utils-0.7.2 app/models/egov_utils/person.rb
egov_utils-0.7.1 app/models/egov_utils/person.rb
egov_utils-0.7.0 app/models/egov_utils/person.rb
egov_utils-0.6.5 app/models/egov_utils/person.rb
egov_utils-0.6.4 app/models/egov_utils/person.rb
egov_utils-0.6.3 app/models/egov_utils/person.rb
egov_utils-0.6.2 app/models/egov_utils/person.rb
egov_utils-0.6.1 app/models/egov_utils/person.rb
egov_utils-0.6.0 app/models/egov_utils/person.rb
egov_utils-0.5.2 app/models/egov_utils/person.rb
egov_utils-0.5.1 app/models/egov_utils/person.rb
egov_utils-0.5.0 app/models/egov_utils/person.rb
egov_utils-0.4.18 app/models/egov_utils/person.rb