class Jeweler::Commands::Version::Base
def self.build_for(jeweler)
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
def base_dir_path
def base_dir_path Pathname.new(base_dir).realpath end
def commit_version
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
def run
def run update_version self.version_helper.write self.gemspec.version = self.version_helper.to_s commit_version if self.repo && self.commit end
def update_version
def update_version raise "Subclasses should implement this" end
def working_subdir
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