class OasContrib::Resolver::Merge

Merge command resolver class

Public Class Methods

new(indir, outfile, options) click to toggle source

Initialize @param [String] indir input directory path @param [String] outfile output spec file path @param [Array] options command options

# File lib/oas_contrib/resolver/merge.rb, line 11
def initialize(indir, outfile, options)
  @meta_dir   = indir + '/' + DIR_NAME_META
  @path_dir   = indir + '/' + DIR_NAME_PATH
  @model_dir  = indir + '/' + DIR_NAME_MODEL
  @outfile    = outfile
  @infile_ext = options['in_ext']
end

Public Instance Methods

distribute() click to toggle source

Distribute the command artifacts. @return [Boolean]

# File lib/oas_contrib/resolver/merge.rb, line 40
def distribute
  output(@data, @outfile)
  true
end
load() click to toggle source

Load and parse the input files. @return [Boolean]

# File lib/oas_contrib/resolver/merge.rb, line 29
def load
  @data = input_dir(@meta_dir)
  resolve
  @data['paths'] = input_dir(@path_dir)
  @data['definitions'] = input_dir(@model_dir) if v2?
  @data['components'] = { 'schemas' => input_dir(@model_dir) } if v3?
  true
end
setup() click to toggle source

Setup the resolver object. @return [Boolean]

# File lib/oas_contrib/resolver/merge.rb, line 21
def setup
  @outfile_ext = File.extname(@outfile)
  file_ext_check
  true
end