class R2OAS::Schema::V3::BaseArrayDiffManager
Public Class Methods
new(before_schema_data, after_schema_data)
click to toggle source
Calls superclass method
# 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
Public Instance Methods
after_target_data()
click to toggle source
# 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)| ... }
click to toggle source
# 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
Private Instance Methods
schema_data_at(data)
click to toggle source
# File lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb, line 44 def schema_data_at(data) { @major_category => data } end
schema_data_grouped_by_judge_key(arr)
click to toggle source
# File lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb, line 38 def schema_data_grouped_by_judge_key(arr) arr.each_with_object({}) do |data, result| result.deep_merge!(data[@judge_key] => data) end end
to_boolean(diff)
click to toggle source
# File lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb, line 50 def to_boolean(diff) if diff.present? diff[@major_category].present? else false end end