Class: Trizetto::Api::Eligibility::WebService::Node
- Inherits:
-
OpenStruct
- Object
- OpenStruct
- Trizetto::Api::Eligibility::WebService::Node
- Defined in:
- lib/trizetto/api/eligibility/web_service/node.rb
Overview
Base class for parsed reponses in the eligibility response.
Direct Known Subclasses
Benefit, BenefitEntity, InfoReceiver, InfoSource, Patient, PatientName, Rejection
Instance Method Summary collapse
-
#initialize(raw_hash = {}) ⇒ Node
constructor
A new instance of Node.
Constructor Details
#initialize(raw_hash = {}) ⇒ Node
Returns a new instance of Node.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/trizetto/api/eligibility/web_service/node.rb', line 10 def initialize(raw_hash = {}) required_keys = self.class.constants.include?(:REQUIRED_KEYS) ? self.class::REQUIRED_KEYS : {} clean_hash = required_keys.merge(raw_hash) cleanup_keys = self.class.constants.include?(:KEY_CLEANUP) ? self.class::KEY_CLEANUP : {} cleanup_keys.each do |uglykey, friendly_key| clean_hash[friendly_key] = clean_hash.delete(uglykey) if clean_hash.has_key?(uglykey) end # Convert prefixed keys "benefit_related_entity_id" to simple keys "id" prefix_translations = self.class.constants.include?(:PREFIX_TRANSLATIONS) ? self.class::PREFIX_TRANSLATIONS : {} prefix_translations.each do |key_prefix| clean_hash.keys.each do |key| if key.to_s =~ /^#{key_prefix}_(.*)$/ clean_hash["#{$1}".to_sym] = clean_hash.delete(key) end end end super(clean_hash) after_inititlize(clean_hash) end |