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
121 122 123 |
# File 'lib/rake_tasks/gem.rb', line 121 def gem_file @gem_file ||= System.dir_glob('*.gem').first end |
.gem_file? ⇒ Boolean
99 100 101 |
# File 'lib/rake_tasks/gem.rb', line 99 def gem_file? return !gem_file.nil? end |
.gem_spec ⇒ Object
Get the gem specification.
112 113 114 |
# File 'lib/rake_tasks/gem.rb', line 112 def gem_spec System.load_gemspec(gem_spec_file) if gemspec_file? end |
.gem_spec_file ⇒ Object
Check for a gem spec file.
117 118 119 |
# File 'lib/rake_tasks/gem.rb', line 117 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.
106 107 108 109 |
# File 'lib/rake_tasks/gem.rb', line 106 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
137 138 139 |
# File 'lib/rake_tasks/gem.rb', line 137 def gem_version Version.new version_number end |
.gemspec_file? ⇒ Boolean
Check whether a gem spec file exists for this project.
95 96 97 |
# File 'lib/rake_tasks/gem.rb', line 95 def gemspec_file? return !gem_spec_file.nil? end |
.push ⇒ Object
152 153 154 155 156 157 |
# File 'lib/rake_tasks/gem.rb', line 152 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.
126 127 128 129 130 |
# File 'lib/rake_tasks/gem.rb', line 126 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.
142 143 144 145 146 147 148 149 150 |
# File 'lib/rake_tasks/gem.rb', line 142 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.
133 134 135 |
# File 'lib/rake_tasks/gem.rb', line 133 def version_number(spec = gem_spec) spec.version.to_s if spec.respond_to?(:version) end |