class OctoMerge::CLI::Parser
Attributes
args[R]
Public Class Methods
new(args)
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 10 def initialize(args) @args = args end
parse(args)
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 6 def self.parse(args) new(args).parse! end
Public Instance Methods
parse!()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 14 def parse! setup opts.parse!(args) options end
Private Instance Methods
options()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 93 def options @options ||= {} end
opts()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 89 def opts @opts ||= OptionParser.new end
setup()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 24 def setup setup_banner setup_application opts.separator "" opts.separator "Common options:" setup_help setup_version end
setup_application()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 41 def setup_application opts.on("--repo=REPO", "Repository (e.g.: 'rails/rails')") do |repo| options[:repo] = repo end opts.on("--dir=DIR", "Working directory (e.g.: '~/Dev/Rails/rails')") do |dir| options[:dir] = dir end opts.on("--pull_requests=PULL_REQUESTS", "Pull requests (e.g.: '23,42,66')") do |pull_requests| options[:pull_requests] = pull_requests end opts.on("--login=login", "Login (Your GitHub username)") do |login| options[:login] = login end opts.on("--password=password", "Password (Your GitHub API-Token)") do |password| options[:password] = password end opts.on("--strategy=STRATEGY", "Merge strategy (e.g.: 'MergeWithoutRebase')") do |strategy| options[:strategy] = strategy end opts.on("--query=QUERY", "Query to use in interactive mode (e.g.: 'label:ready-to-merge')") do |query| options[:query] = query end opts.on('--interactive', 'Select PullRequests within an interactive session') do |interactive| options[:interactive] = interactive end end
setup_help()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 75 def setup_help opts.on_tail('-h', '--help', 'Display this screen') do puts opts exit end end
setup_version()
click to toggle source
# File lib/octo_merge/cli/parser.rb, line 82 def setup_version opts.on_tail('-v', '--version', 'Display the version') do puts OctoMerge::VERSION exit end end