Sha256: 3d7ad7b57e1aabc910e4b1a2908b9186febc114c363020ddf6579202f8104bb9

Contents?: true

Size: 1.08 KB

Versions: 31

Compression:

Stored size: 1.08 KB

Contents

module Medivo
  class PrimaryInsurance
    include ActiveModel::Validations
    include ActiveModel::Serializers::Xml

    validates_presence_of :relationship, :company_name, :policy_number, :group_number
    validates :relationship, :inclusion => {:in => 1..2}

    def initialize(attributes = {})
      @attributes = attributes
    end

    def read_attribute_for_validation(key)
      @attributes[key]
    end

    def attributes
      @attributes.stringify_keys
    end

    # for use by InsuranceOrder to validate its primary insurance
    def validate(record)
      primary_insurance = record.attributes['primary_insurance']
      record.errors.add(:primary_insurance, "primary_insurance field must be present") and return unless primary_insurance
      record.errors.add(:primary_insurance, "primary_insurance field must be of PrimaryInsurance class") and return unless primary_insurance.is_a? PrimaryInsurance
      primary_insurance.valid?
      primary_insurance.errors.messages.each do |field, value|
        record.errors.add(:"primary_insurance.#{field}", value.first)
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
medivo-0.2.3 app/models/medivo/primary_insurance.rb
medivo-0.2.2 app/models/medivo/primary_insurance.rb
medivo-0.2.1 app/models/medivo/primary_insurance.rb
medivo-0.2.0 app/models/medivo/primary_insurance.rb
medivo-0.1.25 app/models/medivo/primary_insurance.rb
medivo-0.1.24 app/models/medivo/primary_insurance.rb
medivo-0.1.23 app/models/medivo/primary_insurance.rb
medivo-0.1.22 app/models/medivo/primary_insurance.rb
medivo-0.1.21 app/models/medivo/primary_insurance.rb
medivo-0.1.20 app/models/medivo/primary_insurance.rb
medivo-0.1.19 app/models/medivo/primary_insurance.rb
medivo-0.1.18 app/models/medivo/primary_insurance.rb
medivo-0.1.17 app/models/medivo/primary_insurance.rb
medivo-0.1.16 app/models/medivo/primary_insurance.rb
medivo-0.1.15 app/models/medivo/primary_insurance.rb
medivo-0.1.14 app/models/medivo/primary_insurance.rb
medivo-0.1.13 app/models/medivo/primary_insurance.rb
medivo-0.1.12 app/models/medivo/primary_insurance.rb
medivo-0.1.11 app/models/medivo/primary_insurance.rb
medivo-0.1.10 app/models/medivo/primary_insurance.rb