class PRDaikou::CLI

Command Line Interface

Public Class Methods

new() click to toggle source
# File lib/pr-daikou/cli.rb, line 12
def initialize
  @options = {
    commit:           ':robot: PR daikou',
    title:            'PR daikou',
    description:      '',
    email:            'pr_daikou@example.com',
    name:             'pr_daikou',
    base:             'master',
    topic:            'ci/pr-daikou',
    labels:           '',
    only_pullrequest: false
  }
end
parse_options() click to toggle source
# File lib/pr-daikou/cli.rb, line 7
def parse_options
  new.parse
end

Public Instance Methods

parse(argv: ARGV) click to toggle source
# File lib/pr-daikou/cli.rb, line 26
def parse(argv: ARGV)
  args = parser.parse(argv)
  [@options, args]
end

Private Instance Methods

parser() click to toggle source
# File lib/pr-daikou/cli.rb, line 33
def parser
  @parser ||= OptionParser.new do |opt|
    opt.banner = 'Usage: pr-daikou [options]'

    opt.on('--email EMAIL', "git committed user email, default: #{@options[:email]}") {|v| @options[:email] = v }
    opt.on('--name NAME', "git committed user name, default: #{@options[:name]}") {|v| @options[:name] = v }
    opt.on('-T', '--title TITLE', "pull request title, default: #{@options[:title]} [at Mon Jan 1 12:34:56 UTC 2017]") {|v| @options[:title] = v }
    opt.on('--description DESC', "pull request description, default: #{@options[:description]}") {|v| @options[:description] = v }
    opt.on('-m', '--commit MESSAGE', "add git commit message, default: #{@options[:commit]}") {|v| @options[:commit] = v }
    opt.on('-b', '--base BRANCH', "pull request base branch, default: #{@options[:base]}") {|v| @options[:base] = v }
    opt.on('-t', '--topic BRANCH', "create new branch, default: #{@options[:topic]}_[20170101123456.000]") {|v| @options[:topic] = v }
    opt.on('-L', '--labels LABELS', "add labels, which should be separated by comma, default: #{@options[:labels]}") {|v| @options[:labels] = v }
    opt.on('-P', '--only-pullrequest', "Create Pull requests, default: #{@options[:only_pullrequest]}") {|_v| @options[:only_pullrequest] = true }
  end
end