class Simp::Metadata::Commands::Base

Public Instance Methods

defaults(argv) { |opts,options| ... } click to toggle source

Defines default arguments for commands

# File lib/simp/metadata/commands/base.rb, line 33
def defaults(argv)
  options = {
    'edition' => ENV.fetch('SIMP_METADATA_EDITION', 'community')
  }
  if ENV.fetch('SIMP_METADATA_WRITABLE_URLS', nil) != nil
    options['writable_urls'] = ENV['SIMP_METADATA_WRITABLE_URLS']
  end
  option_parser = OptionParser.new do |opts|
    opts.banner = 'Usage: simp-metadata <command> [options]'
    opts.on('-d', '--debug [level]', 'debug logging level: critical, error, warning, info, debug1, debug2') do |opt|
      $simp_metadata_debug_level = opt
    end
    opts.on('-v', '--version [release]', 'release version') do |opt|
      options['release'] = opt
    end
    opts.on('-i', '--identity [ssh_key_file]', 'specify ssh_key to be used') do |opt|
      options['ssh_key'] = opt
    end
    opts.on('-w', '--writable-urls [component,url]', 'component,url') do |opt|
      options['writable_urls'] = opt
    end
    opts.on('-e', '--edition [edition]', 'simp edition') do |opt|
      options['edition'] = opt
    end
    opts.on('-p', '--platform [platform]', 'el_version to use', 'valid platforms:', ' - el6', ' - el7') do |opt|
      options['platform'] = opt
    end
    yield(opts,options) if block_given?
  end
  option_parser.parse!(argv)
  options
end
get_engine(engine, options = {}) click to toggle source
# File lib/simp/metadata/commands/base.rb, line 6
def get_engine(engine, options = {})
  root = false
  unless options['ssh_key'].nil?
    options['ssh_key'] = File.expand_path(options['ssh_key'])
  end
  if engine.nil?
    root = true
    metadatarepos = {}
    if !options['writable_urls'].nil?
      array = options['writable_urls'].split(',')
      elements = array.size / 2
      (0...elements).each do |offset|
        comp = array[offset * 2]
        url = array[(offset * 2) + 1]
        metadatarepos[comp] = url
      end
      engine = Simp::Metadata::Engine.new(nil, metadatarepos, options['edition'], options)
    else
      engine = Simp::Metadata::Engine.new(nil, nil, options['edition'], options)
    end
  else
    root = false
  end
  [engine, root]
end