class RakeTasks::Release
Public Class Methods
new()
click to toggle source
# File lib/rake_tasks/release.rb, line 25 def initialize require 'io/console' end
Public Instance Methods
full_release()
click to toggle source
# File lib/rake_tasks/release.rb, line 29 def full_release release puts `git rm gemfiles/*.lock` Rake::Task[:default].invoke `git add gemfiles` `git add checksum` `git add Gemfile` `git add Gemfile.lock` `git add *.gemspec` puts `git commit -m "Version #{@version}"` puts `git tag v#{@version}` end
release()
click to toggle source
# File lib/rake_tasks/release.rb, line 46 def release dirty_check @version = get_version raise_invalid_version if @version.to_s.strip.empty? update_version @version puts `bundle check` puts `gem build #{Gem.gem_spec_file}` Checksum.checksums puts "#{@version} is ready for release!" end
Private Instance Methods
dirty_check()
click to toggle source
# File lib/rake_tasks/release.rb, line 101 def dirty_check return if Dir['*.gem'].empty? message = "One or more gems exist in the root folder.\n" message += 'Please clean up the folder and try again.' raise message end
get_version()
click to toggle source
# File lib/rake_tasks/release.rb, line 68 def get_version version = Gem.gem_version version.scrub! return version.to_s if is_version?(version) version.next_revision! return version.to_s if is_version?(version) version.next_minor_version! return version.to_s if is_version?(version) version.next_major_version! return version.to_s if is_version?(version) version = user_version end
is_version?(version)
click to toggle source
# File lib/rake_tasks/release.rb, line 85 def is_version?(version) prompt = "Is the version to release `#{version}`?" answer = Prompt.new(prompt, 'n').get_value answer == 'y' end
raise_invalid_version()
click to toggle source
# File lib/rake_tasks/release.rb, line 96 def raise_invalid_version message = 'No version was specified.' raise ArgumentError.new(message) end
update_version(new_version)
click to toggle source
# File lib/rake_tasks/release.rb, line 63 def update_version(new_version) return if new_version == Gem.version_number Gem.version! new_version end
user_version()
click to toggle source
# File lib/rake_tasks/release.rb, line 91 def user_version prompt = 'Please enter a new version number to use' Prompt.new(prompt).get_value end