Class: RakeTasks::Gem
- Inherits:
-
Object
- Object
- RakeTasks::Gem
- Defined in:
- lib/rake_tasks/gem.rb
Overview
This class will handle gem utilities.
Defined Under Namespace
Classes: Version
Class Method Summary collapse
- .gem_file ⇒ Object
- .gem_file? ⇒ Boolean
-
.gem_spec ⇒ Object
Get the gem specification.
-
.gem_spec_file ⇒ Object
Check for a gem spec file.
-
.gem_title(spec = gem_spec) ⇒ Object
Returns the gem title.
- .gem_version ⇒ Object
-
.gemspec_file? ⇒ Boolean
Check whether a gem spec file exists for this project.
- .push ⇒ Object
-
.version(spec = gem_spec) ⇒ Object
Returns the name and version from the specified gem specification.
-
.version!(value, spec = gem_spec) ⇒ Object
Updates the version in the gem specification file.
-
.version_number(spec = gem_spec) ⇒ Object
Returns the version from the specified gem specification.
Class Method Details
.gem_file ⇒ Object
114 115 116 |
# File 'lib/rake_tasks/gem.rb', line 114 def gem_file @gem_file ||= System.dir_glob('*.gem').first end |
.gem_file? ⇒ Boolean
92 93 94 |
# File 'lib/rake_tasks/gem.rb', line 92 def gem_file? return !gem_file.nil? end |
.gem_spec ⇒ Object
Get the gem specification.
105 106 107 |
# File 'lib/rake_tasks/gem.rb', line 105 def gem_spec System.load_gemspec(gem_spec_file) if gemspec_file? end |
.gem_spec_file ⇒ Object
Check for a gem spec file.
110 111 112 |
# File 'lib/rake_tasks/gem.rb', line 110 def gem_spec_file System.dir_glob('*.gemspec').first end |
.gem_title(spec = gem_spec) ⇒ Object
Returns the gem title. This is the gem name with underscores removed. Wherever an underscore is removed, the next letter is capitalized.
99 100 101 102 |
# File 'lib/rake_tasks/gem.rb', line 99 def gem_title(spec = gem_spec) return nil unless spec.respond_to?(:name) spec.name.split('_').map { |w| w.capitalize }.join('') end |
.gem_version ⇒ Object
130 131 132 |
# File 'lib/rake_tasks/gem.rb', line 130 def gem_version Version.new version_number end |
.gemspec_file? ⇒ Boolean
Check whether a gem spec file exists for this project.
88 89 90 |
# File 'lib/rake_tasks/gem.rb', line 88 def gemspec_file? return !gem_spec_file.nil? end |
.push ⇒ Object
145 146 147 148 149 150 |
# File 'lib/rake_tasks/gem.rb', line 145 def push ::Gems.configure do |config| config.key = ENV['RUBYGEMS_API_KEY'] end ::Gems.push File.new(gem_file) end |
.version(spec = gem_spec) ⇒ Object
Returns the name and version from the specified gem specification.
119 120 121 122 123 |
# File 'lib/rake_tasks/gem.rb', line 119 def version(spec = gem_spec) if spec.respond_to?(:name) && spec.respond_to?(:version) "#{spec.name} version #{spec.version}" end end |
.version!(value, spec = gem_spec) ⇒ Object
Updates the version in the gem specification file.
135 136 137 138 139 140 141 142 143 |
# File 'lib/rake_tasks/gem.rb', line 135 def version!(value, spec = gem_spec) return unless gem_spec_file temp = StringIO.new write_temp spec, temp, gem_spec_file, value temp.rewind write_file gem_spec_file, temp end |
.version_number(spec = gem_spec) ⇒ Object
Returns the version from the specified gem specification.
126 127 128 |
# File 'lib/rake_tasks/gem.rb', line 126 def version_number(spec = gem_spec) spec.version.to_s if spec.respond_to?(:version) end |