class KwalifyToJsonSchema::Cli

Constants

CUSTOM_PROCESSING_CODE_DOC

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/kwalify_to_json_schema/cli.rb, line 85
def self.exit_on_failure?
  false
end

Public Instance Methods

convert(kwalify_schema_file, result_file) click to toggle source
# File lib/kwalify_to_json_schema/cli.rb, line 43
def convert(kwalify_schema_file, result_file)
  opts = options.dup
  opts[Options::CUSTOM_PROCESSING] = custom_processing(options)
  KwalifyToJsonSchema.convert_file(kwalify_schema_file, result_file, opts)
end
convert_dir(kwalify_schema_dir, result_dir) click to toggle source
# File lib/kwalify_to_json_schema/cli.rb, line 74
def convert_dir(kwalify_schema_dir, result_dir)
  opts = options.dup
  opts[Options::CUSTOM_PROCESSING] = custom_processing(options)
  
  path = [kwalify_schema_dir, options["recursive"] ? "**" : nil, "*.yaml"].compact
  Dir.glob(File.join(*path)).each { |kwalify_schema_file|
    result_file = File.join(result_dir, File.basename(kwalify_schema_file, File.extname(kwalify_schema_file))) + ".#{options["format"]}"
    KwalifyToJsonSchema.convert_file(kwalify_schema_file, result_file, opts)
  }
end

Private Instance Methods

custom_processing(options) click to toggle source
# File lib/kwalify_to_json_schema/cli.rb, line 91
def custom_processing(options)
  pf = options[:custom_processing]
  custom_processing = nil
  if pf
    require File.expand_path(pf)
    begin
      processing_class = Object.const_get :CustomProcessing
      custom_processing = processing_class.new
    rescue NameError
      raise "The 'CustomProcessing' module must be defined in #{pf}"
    end
  end
  custom_processing
end