class Gimp::Options

Public Class Methods

new(defaults) click to toggle source
Calls superclass method
# File lib/gimp/options.rb, line 3
def initialize(defaults)
  super(@options = Hashie::Mash.new(defaults))
end

Public Instance Methods

parse!(args) click to toggle source
# File lib/gimp/options.rb, line 7
def parse!(args)
  parser.parse!(args)
  self
end
usage() click to toggle source
# File lib/gimp/options.rb, line 16
def usage
  parser.to_s
end
valid?() click to toggle source
# File lib/gimp/options.rb, line 12
def valid?
  @options.token? && @options.source? && @options.destination? && @options.issues?
end

Private Instance Methods

parser() click to toggle source
# File lib/gimp/options.rb, line 22
def parser
  @parser ||= OptionParser.new do |opts|
    opts.banner = 'Usage: gimp [options]'
    opts.on('-t', '--token ACCESS_TOKEN', 'GitHub access token') do |access_token|
      @options.access_token = access_token
    end
    opts.on('-s', '--source SOURCE', 'Source repository') do |source|
      @options.source = source
    end
    opts.on('-d', '--destination DESTINATION', 'Destination repository') do |destination|
      @options.destination = destination
    end
    opts.on('-i', '--issues ISSUES', Array, 'Issue numbers') do |issues|
      @options.issues = issues
    end
    opts.on('-u', '--unassign', 'Do not copy the existing assignee') do
      @options.unassign = true
    end
    opts.on('--add-labels LABELS', Array, 'Add labels') do |labels|
      @options.labels ||= Hashie::Mash.new
      @options.labels.add = labels
    end
    opts.on('--exclude-labels [LABELS]', Array, 'Exclude labels', ' (exclude specific labels if LABELS supplied)') do |labels|
      @options.labels ||= Hashie::Mash.new
      @options.labels.exclude = labels || true
    end
    opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
      @options.verbose = v
    end
    opts.on_tail("-h", "--help", "Show this message") do
      @options.help = true
    end
    opts.on_tail("--version", "Show version") do
      @options.version = true
    end
  end
end