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