class GemCheckUpdates::Option

Attributes

apply[RW]
file[RW]
major[RW]
minor[RW]
patch[RW]

Public Class Methods

new(file: './Gemfile') click to toggle source
# File lib/gem_check_updates/option.rb, line 7
def initialize(file: './Gemfile')
  @file = file
  @apply = false
  @major = true
  @minor = false
  @patch = false
end
parse(argv) click to toggle source
# File lib/gem_check_updates/option.rb, line 15
def self.parse(argv)
  option = new

  OptionParser.new do |opt|
    opt.version = GemCheckUpdates::VERSION

    opt.on('-f Gemfile', '--file', "Path to Gemfile (default: #{option.file})") { |v| option.file = v }
    opt.on('-a', '--apply', "Apply updates (default: #{option.apply})") { |v| option.apply = v }
    opt.on('--major', "Update major version (default: #{option.major})") do |v|
      option.major = v
      option.minor = !v
      option.patch = !v
    end
    opt.on('--minor', "Update minor version (default: #{option.minor})") do |v|
      option.major = !v
      option.minor = v
      option.patch = !v
    end
    opt.on('--patch', "Update patch version (default: #{option.patch})") do |v|
      option.major = !v
      option.minor = !v
      option.patch = v
    end

    opt.parse!(argv)
  end

  option
end

Public Instance Methods

update_scope() click to toggle source
# File lib/gem_check_updates/option.rb, line 45
def update_scope
  if !@major && @minor
    GemCheckUpdates::VersionScope::MINOR
  elsif !@major && !@minor && @patch
    GemCheckUpdates::VersionScope::PATCH
  else
    GemCheckUpdates::VersionScope::MAJOR
  end
end