class R2OAS::Schema::V3::SchemaGenerator
Public Class Methods
new(options = {})
click to toggle source
Calls superclass method
R2OAS::Schema::V3::BaseGenerator::new
# File lib/r2-oas/schema/v3/generator/schema_generator.rb, line 13 def initialize(options = {}) super(options) @docs = create_docs @options = options end
Public Instance Methods
generate_docs()
click to toggle source
# File lib/r2-oas/schema/v3/generator/schema_generator.rb, line 19 def generate_docs logger.info '<From routes data>' generate_docs_from_routes_data end
Private Instance Methods
generate_docs_from_routes_data()
click to toggle source
# File lib/r2-oas/schema/v3/generator/schema_generator.rb, line 26 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(type: :relative)| ... }
click to toggle source
# File lib/r2-oas/schema/v3/generator/schema_generator.rb, line 32 def process_when_generate_docs logger.info '<Update schema files>' @docs.each do |field_name, data| result = { field_name.to_s => data } case field_name when 'paths' logger.info ' [Generate OAS schema files (paths)] start' PathGenerator.new(result, @options).generate_docs logger.info ' [Generate OAS schema files (paths)] end' when 'components' logger.info ' [Generate OAS schema files (components)] start' ComponentsGenerator.new(result, @options).generate_docs logger.info ' [Generate OAS schema files (components)] end' else file_manager = FileManager.new(field_name, :relative) save_file_path = file_manager.save_file_path(type: :relative) store.add(save_file_path, result.to_yaml) yield file_manager.save_file_path(type: :relative) if block_given? end end end