Class: R2OAS::Schema::V3::BaseArrayDiffManager

Inherits:
BaseDiffManager show all
Defined in:
lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb

Direct Known Subclasses

TagDiffManager

Constant Summary

Constants inherited from Base

R2OAS::Schema::V3::Base::SUPPORT_COMPONENTS_OBJECTS

Instance Method Summary collapse

Methods included from R2OAS::Sortable

#deep_sort

Methods inherited from Base

#support_components_objects

Constructor Details

#initialize(before_schema_data, after_schema_data) ⇒ BaseArrayDiffManager

Returns a new instance of BaseArrayDiffManager.



9
10
11
12
13
# File 'lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb', line 9

def initialize(before_schema_data, after_schema_data)
  super
  @major_category = 'base'
  @judge_key      = ''
end

Instance Method Details

#after_target_dataObject



32
33
34
# File 'lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb', line 32

def after_target_data
  schema_data_at(@after_schema_data[@major_category])
end

#process_by_using_diff_data {|schema_data_at(result)| ... } ⇒ Object

Yields:

  • (schema_data_at(result))


15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb', line 15

def process_by_using_diff_data
  before_data_at_major         = @before_schema_data[@major_category]
  after_data_at_major          = @after_schema_data[@major_category]
  after_schema_data_grouped_by = schema_data_grouped_by_judge_key(after_data_at_major)

  result = before_data_at_major.map do |data|
    judge_name = data[@judge_key]
    if judge_name.in? after_schema_data_grouped_by.keys
      after_schema_data_grouped_by[judge_name]
    else
      data
    end
  end

  yield schema_data_at(result) if block_given?
end