class Jeweler::Commands::Version::Base

Attributes

base_dir[RW]
commit[RW]
gemspec[RW]
repo[RW]
version_helper[RW]

Public Instance Methods

base_dir_path() click to toggle source
# File lib/jeweler/commands/version/base.rb, line 37
def base_dir_path
  Pathname.new(base_dir).realpath
end
commit_version() click to toggle source
# File lib/jeweler/commands/version/base.rb, line 23
def commit_version
  if self.repo
    self.repo.add(working_subdir.join(version_helper.path))
    self.repo.commit("Version bump to #{self.version_helper.to_s}")
  end
end
run() click to toggle source
# File lib/jeweler/commands/version/base.rb, line 10
def run
  update_version

  self.version_helper.write
  self.gemspec.version = self.version_helper.to_s

  commit_version if self.repo && self.commit
end
update_version() click to toggle source
# File lib/jeweler/commands/version/base.rb, line 19
def update_version
  raise "Subclasses should implement this"
end
working_subdir() click to toggle source
# File lib/jeweler/commands/version/base.rb, line 30
def working_subdir
  return @working_subdir if @working_subdir
  cwd = base_dir_path
  @working_subdir = cwd.relative_path_from(Pathname.new(repo.dir.path))
  @working_subdir
end

Public Class Methods

build_for(jeweler) click to toggle source
# File lib/jeweler/commands/version/base.rb, line 42
def self.build_for(jeweler)
  command = new
  command.repo = jeweler.repo
  command.version_helper = jeweler.version_helper
  command.gemspec = jeweler.gemspec
  command.commit = jeweler.commit
  command.base_dir = jeweler.base_dir

  command
end