class R2OAS::Schema::V3::DocBuilder
Attributes
oas_doc[RW]
pure_oas_doc[RW]
Public Class Methods
new(opts = {})
click to toggle source
Calls superclass method
R2OAS::Schema::V3::BaseBuilder::new
# File lib/r2-oas/schema/v3/builder/doc_builder.rb, line 14 def initialize(opts = {}) super end
Public Instance Methods
build_docs()
click to toggle source
# File lib/r2-oas/schema/v3/builder/doc_builder.rb, line 18 def build_docs logger.info '[Build OAS schema files] start' logger.info '[Build OAS docs from schema files] start' build_docs_from_schema_files logger.info '[Build OAS docs from schema files] end' logger.info '[Build OAS schema files] end' end
Private Instance Methods
build_docs_from_schema_files()
click to toggle source
# File lib/r2-oas/schema/v3/builder/doc_builder.rb, line 28 def build_docs_from_schema_files result_before_squeeze = schema_files_paths.each_with_object({}) do |path, data| file_manager = FileManager.new(path) yaml = YAML.load_file(path) data.deep_merge!(yaml) logger.info " Use schema file: \t#{file_manager.save_file_path(type: :relative)}" end result = if many_paths_file_paths.present? Squeezer.new(result_before_squeeze, many_paths_file_paths: many_paths_file_paths).squeeze_docs else result_before_squeeze end @pure_oas_doc = result.dup rsult = FromFiles::OpenapiObject.new(result, opts).to_doc if use_plugin? @oas_doc = result File.write(output? ? output_path : doc_save_file_path, result.to_yaml) end