Class: ReactorSDK::Resources::ComprehensiveDataElement

Inherits:
ComprehensiveResource show all
Defined in:
lib/reactor_sdk/resources/comprehensive_data_element.rb

Instance Attribute Summary collapse

Attributes inherited from ComprehensiveResource

#resource

Instance Method Summary collapse

Methods inherited from ComprehensiveResource

#normalized_json

Constructor Details

#initialize(resource:, referenced_data_elements:, impacted_rules:) ⇒ ComprehensiveDataElement

Returns a new instance of ComprehensiveDataElement.



8
9
10
11
12
# File 'lib/reactor_sdk/resources/comprehensive_data_element.rb', line 8

def initialize(resource:, referenced_data_elements:, impacted_rules:)
  super(resource: resource)
  @referenced_data_elements = Array(referenced_data_elements)
  @impacted_rules = Array(impacted_rules)
end

Instance Attribute Details

#impacted_rulesObject (readonly)

Returns the value of attribute impacted_rules.



6
7
8
# File 'lib/reactor_sdk/resources/comprehensive_data_element.rb', line 6

def impacted_rules
  @impacted_rules
end

#referenced_data_elementsObject (readonly)

Returns the value of attribute referenced_data_elements.



6
7
8
# File 'lib/reactor_sdk/resources/comprehensive_data_element.rb', line 6

def referenced_data_elements
  @referenced_data_elements
end

Instance Method Details

#associated_recordsObject



14
15
16
# File 'lib/reactor_sdk/resources/comprehensive_data_element.rb', line 14

def associated_records
  (@referenced_data_elements + @impacted_rules).uniq
end

#normalized_payloadObject



18
19
20
21
22
23
24
25
# File 'lib/reactor_sdk/resources/comprehensive_data_element.rb', line 18

def normalized_payload
  payload = normalized_resource_payload
  payload['associations'] = {
    'referenced_data_elements' => summaries_for(@referenced_data_elements),
    'impacted_rules' => summaries_for(@impacted_rules)
  }
  payload
end