Class: Gemsmith::Rake::Release
- Inherits:
-
Object
- Object
- Gemsmith::Rake::Release
- Defined in:
- lib/gemsmith/rake/release.rb
Overview
Provides gem release functionality. Meant to be wrapped in Rake tasks.
Instance Method Summary collapse
- #gem_file_name ⇒ Object
-
#initialize(gem_spec_path = Dir.glob("#{Dir.pwd}/*.gemspec").first, bundler: Bundler, tagger: Milestoner::Tagger.new, shell: Bundler::UI::Shell.new) ⇒ Release
constructor
A new instance of Release.
- #publish ⇒ Object
- #version_label ⇒ Object
- #version_number ⇒ Object
Constructor Details
#initialize(gem_spec_path = Dir.glob("#{Dir.pwd}/*.gemspec").first, bundler: Bundler, tagger: Milestoner::Tagger.new, shell: Bundler::UI::Shell.new) ⇒ Release
Returns a new instance of Release.
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/gemsmith/rake/release.rb', line 7 def initialize gem_spec_path = Dir.glob("#{Dir.pwd}/*.gemspec").first, bundler: Bundler, tagger: Milestoner::Tagger.new, shell: Bundler::UI::Shell.new @gem_spec_path = gem_spec_path @tagger = tagger @shell = shell @gem_spec = bundler.load_gemspec gem_spec_path.to_s rescue Errno::ENOENT @shell.error "Invalid gemspec file path: #{@gem_spec_path}." end |
Instance Method Details
#gem_file_name ⇒ Object
28 29 30 |
# File 'lib/gemsmith/rake/release.rb', line 28 def gem_file_name "#{gem_spec.name}-#{version_number}.gem" end |
#publish ⇒ Object
32 33 34 35 36 |
# File 'lib/gemsmith/rake/release.rb', line 32 def publish tagger.create version_number, sign: true rescue Milestoner::Errors::Base => error shell.error error. end |
#version_label ⇒ Object
24 25 26 |
# File 'lib/gemsmith/rake/release.rb', line 24 def version_label "v#{version_number}" end |
#version_number ⇒ Object
20 21 22 |
# File 'lib/gemsmith/rake/release.rb', line 20 def version_number gem_spec.version.version end |