class Gem::BumpTask
Attributes
term[R]
Public Class Methods
new(term, options = {})
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 21 def initialize(term, options = {}) @term = term.to_sym @options = options end
Public Instance Methods
task()
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 26 def task prepare_repo version = bump(read_version) write_version version.dup.to_s version end
Protected Instance Methods
bump(old_version)
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 50 def bump(old_version) new_version = Anvil::Versioner.new(old_version).bump! term logger.info "Bumped from #{old_version} to #{new_version}" new_version end
clean?()
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 81 def clean? git.status.changed.empty? && git.status.deleted.empty? && git.status.added.empty? end
commit_and_tag(version)
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 57 def commit_and_tag(version) git.add 'VERSION' git.commit "Bump version v#{version}" git.add_tag "v#{version}" git.push('origin', git.current_branch) end
force?()
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 87 def force? options[:force] end
git()
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 36 def git @git ||= Git.open Dir.pwd end
prepare_repo()
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 73 def prepare_repo if clean? || force? git.pull('origin', git.current_branch) else fail Anvil::RepoNotClean end end
read_version()
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 46 def read_version version_file { |f| f.read.strip } end
version_file(mode = 'r') { |f| ... }
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 40 def version_file(mode = 'r') File.open('VERSION', mode) do |f| yield f end end
write_version(version)
click to toggle source
# File lib/tasks/gem/bump_task.rb, line 64 def write_version(version) version_file('w+') do |f| f.puts version f.close end commit_and_tag version if options[:persist] end