Parent

Files

POM::Commands::Bump

Attributes

project[R]

Public Class Methods

new() click to toggle source
# File lib/pom/commands/bump.rb, line 15
def initialize
  @project = POM::Project.new(:lookup=>true)
  @slots   = []
  @force   = false
end
run() click to toggle source
# File lib/pom/commands/bump.rb, line 8
def self.run
  new.run
end

Public Instance Methods

execute() click to toggle source
# File lib/pom/commands/bump.rb, line 85
def execute
  if POM::VersionNumber::STATES.include?(@entry)
    @state = @entry.to_sym
  end

  if POM::VersionNumber::SLOTS.include?(@entry)
    @slots << @entry.to_sym
    @entry = nil
  end

  raise "Why bump if you know what you want, silly?" if @entry && !@slots.empty?

  new_version = @entry ? POM::VersionNumber.new(@entry) : project.package.version

  @slots.each do |slot|
    new_version = new_version.bump(slot)
  end

  if @state
    new_version = new_version.restate(@state)
  end

  if new_version > project.package.version or @force
    project.package.version = new_version
    project.package.save! unless $TRIAL
  else
    if new_version < project.package.version
      $stderr.puts "pom: Going backwards in time?\n    New version is older than current version.\n    Use --force to fly the TARDIS."
    end
  end

  puts(project.version) 
end
parse() click to toggle source
# File lib/pom/commands/bump.rb, line 73
def parse
  parser.parse!

  @entry = ARGV.last

  if @entry == 'help'
    puts parser
    exit
  end
end
parser() click to toggle source

Returns instance of option parser.

# File lib/pom/commands/bump.rb, line 28
def parser
  @parser ||= OptionParser.new do |opt|
    opt.banner = "pom bump [OPTIONS | ENTRY]"

    opt.on("--major", "-M", "bump major version number") do
      @slots << :major
    end

    opt.on("--minor", "-m", "bump minor version number") do
      @slots << :minor
    end

    opt.on("--patch", "-p", "bump patch version number") do
      @slots << :patch
    end

    opt.on("--build", "-b", "bump build version number") do
      @slots << :build
    end

    opt.on("--state", "-s", "bump version state") do |term|
      @slots << :state
    end

    opt.on("--no-write", "-n", "do not write version change") do
      $DRYRUN = true
    end

    opt.on("--force", "-f", "force otherwise protected action") do
      @force = true
    end

    opt.on("--debug", "run in debug mode") do
      $DEBUG   = true
      $VERBOSE = true
    end

    opt.on_tail("--help", "-h", "display this help message") do
      puts opt
      exit
    end
  end
end
run() click to toggle source
# File lib/pom/commands/bump.rb, line 22
def run
  parse
  execute
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.