class PRlist::OptParse

Public Class Methods

default_options() click to toggle source
# File lib/pr_list/options.rb, line 4
def self.default_options
  {
    markdown: false,
    queue:    false
  }
end
label_values() click to toggle source
# File lib/pr_list/options.rb, line 48
def self.label_values
  Options.labels.keys.map { |k| Options.labels[k] }.flatten.compact
end
parse(argv_opts = [], unit_testing = false) click to toggle source
# File lib/pr_list/options.rb, line 17
def self.parse(argv_opts = [], unit_testing = false)
  opt_parse = DevTools::OptParse.new({ name:     IDENT,
                                       version:  VERSION,
                                       defaults: default_options,
                                       testing:  unit_testing })

  parser = opt_parse.parser

  parser.banner = "Usage: #{DevTools::PROGRAM} [OPTIONS]"

  parser.separator ""
  parser.separator "[OPTIONS]"

  parser.on "-m", "--markdown", "Outputs in markdown friendly format" do
    Options.markdown = true
  end

  parser.on "--[no-]queue", "filters PRs into a queue list for QA" do |opt|
    Options.queue = opt
  end

  parser.separator ""
  parser.separator "Common Options:"

  parser.parse!(argv_opts)

  validate_options unless unit_testing

  Options
end
validate_options() click to toggle source
# File lib/pr_list/options.rb, line 11
def self.validate_options
  raise RuntimeError, "Missing configuration file" if Options.nil?
  raise RuntimeError, "Missing authentication token" if Options.token.nil?
  raise RuntimeError, "No repositories provided" if Options.repos.empty?
end