Class: ReactorSDK::Resources::ComprehensiveExtension

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

Instance Attribute Summary collapse

Attributes inherited from ComprehensiveResource

#resource

Instance Method Summary collapse

Methods inherited from ComprehensiveResource

#normalized_json

Constructor Details

#initialize(resource:, data_elements:, rule_components:, rules:) ⇒ ComprehensiveExtension

Returns a new instance of ComprehensiveExtension.



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

def initialize(resource:, data_elements:, rule_components:, rules:)
  super(resource: resource)
  @data_elements = Array(data_elements)
  @rule_components = Array(rule_components)
  @rules = Array(rules)
end

Instance Attribute Details

#data_elementsObject (readonly)

Returns the value of attribute data_elements.



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

def data_elements
  @data_elements
end

#rule_componentsObject (readonly)

Returns the value of attribute rule_components.



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

def rule_components
  @rule_components
end

#rulesObject (readonly)

Returns the value of attribute rules.



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

def rules
  @rules
end

Instance Method Details

#associated_recordsObject



15
16
17
# File 'lib/reactor_sdk/resources/comprehensive_extension.rb', line 15

def associated_records
  (@data_elements + @rule_components + @rules).uniq
end

#normalized_payloadObject



19
20
21
22
23
24
25
26
27
# File 'lib/reactor_sdk/resources/comprehensive_extension.rb', line 19

def normalized_payload
  payload = normalized_resource_payload
  payload['associations'] = {
    'data_elements' => summaries_for(@data_elements),
    'rule_components' => summaries_for(@rule_components),
    'rules' => summaries_for(@rules)
  }
  payload
end