class Gem4Rake
Rake tasks to assist developing Ruby Gems. Gem's name must match current directory's basename. A `.spec` file with that name is also required.
Usage:¶ ↑
Put this in your `Rakefile`: require 'gem4rake' Gem4Rake.new $your_app_version
Example:¶ ↑
$ rake -T rake build # Build autoup-1.0.4.gem rake clean # Delete autoup-*.gem rake cleanup # Cleanup autoup gems rake install # Install autoup-1.0.4.gem rake push # Push autoup-1.0.4.gem rake uninstall # Uninstall autoup gems
Notes:¶ ↑
If you got permission denied errors, you may need: `echo gem: --user-install > ~/.gemrc`
Public Class Methods
new(version)
click to toggle source
Initialize Rake tasks to assist developing Ruby Gems.
Calls superclass method
# File lib/gem4rake.rb, line 33 def initialize(version) super() @name = File.basename(Dir.getwd) # Get Gem's name from CWD basename. @version = version build_task install_tasks push_task clean_tasks end
Private Instance Methods
build_task()
click to toggle source
# File lib/gem4rake.rb, line 46 def build_task desc "Build #{@name}-#{@version}.gem" task :build do sh "gem build #{@name}.gemspec" end end
clean_tasks()
click to toggle source
# File lib/gem4rake.rb, line 72 def clean_tasks desc "Cleanup #{@name} gems" task :cleanup do sh "gem cleanup #{@name}" end desc "Delete #{@name}-*.gem" task :clean do rm Dir.glob("#{@name}-*.gem") end end
install_tasks()
click to toggle source
# File lib/gem4rake.rb, line 53 def install_tasks desc "Install #{@name}-#{@version}.gem" task install: :build do sh "gem install #{@name}-#{@version}.gem" end desc "Uninstall #{@name} gems" task :uninstall do sh "gem uninstall #{@name}" end end
push_task()
click to toggle source
# File lib/gem4rake.rb, line 65 def push_task desc "Push #{@name}-#{@version}.gem" task push: :build do sh "gem push #{@name}-#{@version}.gem" end end