Sha256: be38266bad8dfa0392b5bf28c3b6fc7d55f5a386d19c6c8400959c311a4b4166
Contents?: true
Size: 1.46 KB
Versions: 6
Compression:
Stored size: 1.46 KB
Contents
require_relative 'resource' module Medivo class PrimaryInsurance include ActiveModel::Validations validates_presence_of :relationship, :company_name, :policy_number, :group_number def initialize(attributes = {}) @attributes = attributes end def read_attribute_for_validation(key) @attributes[key] end 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") unless primary_insurance.is_a? PrimaryInsurance primary_insurance.valid? record.errors.add(:'primary_insurance.relationship', "primary_insurance relationship field must be the value 1") unless primary_insurance.read_attribute_for_validation(:relationship) == 1 for field in %w(company_name policy_number group_number) record.errors.add(:"primary_insurance.#{field}", "primary_insurance #{field} must be present") unless primary_insurance.read_attribute_for_validation(field) end end end class InsuranceOrder < Order validates_with Medivo::ArrayValidator, :fields => [:diagnosis_code] validates_with PrimaryInsurance # when getting the insurance info from medivo labs def insurance @insurance ||= try(:insurance_information).try(:primary_insurance_info) end end end
Version data entries
6 entries across 6 versions & 1 rubygems