Class: ReactorSDK::LibraryComparisonBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/reactor_sdk/library_comparison_builder.rb

Constant Summary collapse

RESOURCE_TYPE_ORDER =
{
  'rules' => 0,
  'data_elements' => 1,
  'extensions' => 2
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(snapshot_loader:) ⇒ LibraryComparisonBuilder

Returns a new instance of LibraryComparisonBuilder.



11
12
13
# File 'lib/reactor_sdk/library_comparison_builder.rb', line 11

def initialize(snapshot_loader:)
  @snapshot_loader = snapshot_loader
end

Instance Method Details

#build(current_library_id, baseline_library_id:, property_id:, current_snapshot: nil, baseline_snapshot: nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/reactor_sdk/library_comparison_builder.rb', line 15

def build(current_library_id, baseline_library_id:, property_id:, current_snapshot: nil, baseline_snapshot: nil)
  current_snapshot ||= @snapshot_loader.call(current_library_id, property_id: property_id)
  baseline_snapshot ||= @snapshot_loader.call(baseline_library_id, property_id: property_id)

  Resources::LibraryComparison.new(
    current_library_id: current_library_id,
    baseline_library_id: baseline_library_id,
    property_id: property_id,
    current_snapshot: current_snapshot,
    baseline_snapshot: baseline_snapshot,
    entries: build_entries(current_snapshot, baseline_snapshot)
  )
end