class LockDiff::Cli::OptionParser
Public Class Methods
new(require_flags)
click to toggle source
# File lib/lock_diff/cli/option_parser.rb, line 12 def initialize(require_flags) @require_flags = require_flags end
parse(args, require_flags:)
click to toggle source
# File lib/lock_diff/cli/option_parser.rb, line 7 def parse(args, require_flags:) new(require_flags).parse(args) end
Public Instance Methods
parse(args)
click to toggle source
# File lib/lock_diff/cli/option_parser.rb, line 16 def parse(args) options = { post_comment: false } opt = ::OptionParser.new opt.separator("Require flags") if @require_flags.include? :repository opt.on('-r', '--repository=REPOSITORY', 'Like as "user/repository"') { |v| options[:repository] = v } end if @require_flags.include? :number opt.on('-n', '--number=PULL_REQUEST_NUMBER') { |v| options[:number] = v } end opt.separator("\nOptional flags") opt.on('--post-comment=true or false', 'Print result to stdout when false. (default is false)') { |v| options[:post_comment] = v } opt.on("-v", "--verbose", "Run verbosely") { LockDiff.logger.level = :info } opt.on("--more-verbose", "Run more verbosely") { LockDiff.logger.level = :debug } opt.on_tail("--version", "Show version") do $stdout.puts LockDiff::VERSION exit end opt.parse!(args) if @require_flags.all? { |flag| options.key?(flag) } options else $stdout.puts opt.help exit end end