class R2OAS::Schema::V3::Components::ObjectGenerator
Public Class Methods
new(schema_data = {}, options = {})
click to toggle source
Calls superclass method
R2OAS::Schema::V3::BaseGenerator::new
# File lib/r2-oas/schema/v3/generator/components/object_generator.rb, line 13 def initialize(schema_data = {}, options = {}) super(options.except(:middle_category)) @major_category = 'components' @middle_category = options[:middle_category] sorted_schema_data = deep_sort(schema_data, @middle_category) @components_objects = sorted_schema_data[@middle_category] @glob_schema_paths = create_glob_components_objects_paths end
Public Instance Methods
generate_docs()
click to toggle source
# File lib/r2-oas/schema/v3/generator/components/object_generator.rb, line 22 def generate_docs logger.info ' <From routes data>' generate_docs_from_routes_data end
Private Instance Methods
create_glob_components_objects_paths()
click to toggle source
# File lib/r2-oas/schema/v3/generator/components/object_generator.rb, line 55 def create_glob_components_objects_paths many_components_file_paths.select do |file_path| file_path.include? "#{schema_save_dir_path}/#{@major_category}/#{@middle_category}" end end
generate_docs_from_routes_data()
click to toggle source
# File lib/r2-oas/schema/v3/generator/components/object_generator.rb, line 31 def generate_docs_from_routes_data process_when_generate_docs do |save_file_path| logger.info " Add schema file into store: \t#{save_file_path}" end end
process_when_generate_docs() { |save_file_path| ... }
click to toggle source
# File lib/r2-oas/schema/v3/generator/components/object_generator.rb, line 37 def process_when_generate_docs logger.info " <Update Components schema files (#{@major_category}/#{@middle_category})>" @components_objects&.each do |schema_name, data| result = { @major_category => { @middle_category => { schema_name.to_s => data } } } relative_path = "#{@major_category}/#{@middle_category}/#{schema_name}" file_manager = ComponentsFileManager.build(relative_path, :relative) save_file_path = file_manager.save_file_path(type: :relative) store.add(save_file_path, result.to_yaml) yield save_file_path if block_given? end end