class BumperPusher::Parser

Public Class Methods

new() click to toggle source
# File lib/bumper_pusher/parser.rb, line 8
def initialize

end

Public Instance Methods

parse_options() click to toggle source
# File lib/bumper_pusher/parser.rb, line 12
def parse_options
  options = {:dry_run => false, :bump_number => :patch, :changelog => true, :bump => true, :commit => true, :build => true, :push => true, :install => true}

  OptionParser.new { |opts|
    opts.banner = 'Usage: bumper_pusher [options]'

    opts.on('-d', '--dry-run', 'Dry run') do |v|
      options[:dry_run] = v
    end
    opts.on('-r', '--release', 'Bump release version') do |v|
      options[:bump_number] = :major
    end
    opts.on('-m', '--minor', 'Bump minor version') do |v|
      options[:bump_number] = :minor
    end
    opts.on('-p', '--patch', 'Bump patch version') do |v|
      options[:bump_number] = :patch
    end
    opts.on('-r', '--revert', 'Revert last bump') do |v|
      options[:revert] = v
    end
    opts.on('-i', '--[no-]install', 'Install this gem after push it. Default is true.') do |v|
      options[:install] = v
    end
    opts.on('-b', '--beta', 'Build beta gem without commit and push') do |v|
      options[:beta] = v
      options[:bump] = v
      options[:build] = v
      options[:commit] = !v
      options[:push] = !v

    end
    opts.on('-v', '--version', 'Print version number') do |v|
      puts "Version: #{BumperPusher::VERSION}"
      exit
    end
    opts.on('-c', '--[no]-changelog', 'Auto generation of changelog and pushing it origin. Default is true') do |v|
      options[:changelog] = v
    end
  }.parse!
  options
end