Class: R2OAS::Schema::V3::Components::ObjectAnalyzer
- Inherits:
-
BaseAnalyzer
- Object
- Base
- Base
- Base
- BaseAnalyzer
- R2OAS::Schema::V3::Components::ObjectAnalyzer
- Defined in:
- lib/r2-oas/schema/v3/analyzer/components/object_analyzer.rb
Constant Summary
Constants inherited from Base
Base::SUPPORT_COMPONENTS_OBJECTS
Instance Method Summary collapse
- #analyze_docs ⇒ Object
-
#initialize(before_schema_data, after_schema_data, options = {}) ⇒ ObjectAnalyzer
constructor
A new instance of ObjectAnalyzer.
Methods inherited from BaseAnalyzer
#generate_from_existing_schema
Methods included from R2OAS::Sortable
Methods inherited from Base
Constructor Details
#initialize(before_schema_data, after_schema_data, options = {}) ⇒ ObjectAnalyzer
Returns a new instance of ObjectAnalyzer.
13 14 15 16 17 |
# File 'lib/r2-oas/schema/v3/analyzer/components/object_analyzer.rb', line 13 def initialize(before_schema_data, after_schema_data, = {}) super(before_schema_data, after_schema_data, .except(:middle_category)) @major_category = 'components' @middle_category = [:middle_category] end |
Instance Method Details
#analyze_docs ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/r2-oas/schema/v3/analyzer/components/object_analyzer.rb', line 19 def analyze_docs diff_manager = ComponentsDiffManager.new(@before_schema_data, @after_schema_data, middle_category: @middle_category) diff_manager.process_by_using_diff_data do |schema_name, is_removed, is_added, is_leftovers, after_edited_data| file_manager = ComponentsFileManager.build("#/#{@major_category}/#{@middle_category}/#{schema_name}", :ref) save_file_path = file_manager.save_file_path(type: :relative) if is_removed && !is_added && !is_leftovers file_manager.delete logger.info " Delete schema file: \t#{save_file_path}" else file_manager.save(after_edited_data.to_yaml) logger.info " Write schema file: \t#{save_file_path}" end end end |