#183 Gemcutter & Jeweler
Oct 12, 2009 | 7 minutes | Tools
Gemcutter is a new service for hosting RubyGems, and Jeweler provides an automated way to release versions of a gem.
- Download:
- source codeProject Files in Zip (4.96 KB)
- mp4Full Size H.264 Video (14.7 MB)
- m4vSmaller H.264 Video (8.87 MB)
- webmFull Size VP8 Video (22.9 MB)
- ogvFull Size Theora Video (20.6 MB)
Resources
- Episode 135: Making a Gem
- Gem Building is Defunct
- Gemcutter
- RubyGems GemSpec Reference
- Jeweler
- Full episode source code
Update: Simplified example gemspec.
bash
sudo gem update --system
sudo gem install gemcutter
gem tumble
gem build uniquify.gemspec
gem push uniquify-0.1.0.gem
sudo gem install jeweler
rake --tasks
rake version:write
rake version:bump:minor
rake gemcutter:release
sudo gem update --system sudo gem install gemcutter gem tumble gem build uniquify.gemspec gem push uniquify-0.1.0.gem sudo gem install jeweler rake --tasks rake version:write rake version:bump:minor rake gemcutter:release
Rakefile
begin
require 'jeweler'
Jeweler::Tasks.new do |gemspec|
gemspec.name = "uniquify"
gemspec.summary = "Generate a unique token with Active Record."
gemspec.description = "Generate a unique token with Active Record."
gemspec.email = "ryan@railscasts.com"
gemspec.homepage = "http://github.com/ryanb/uniquify"
gemspec.authors = ["Ryan Bates"]
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler not available. Install it with: sudo gem install jeweler -s http://gemcutter.org"
end
begin require 'jeweler' Jeweler::Tasks.new do |gemspec| gemspec.name = "uniquify" gemspec.summary = "Generate a unique token with Active Record." gemspec.description = "Generate a unique token with Active Record." gemspec.email = "ryan@railscasts.com" gemspec.homepage = "http://github.com/ryanb/uniquify" gemspec.authors = ["Ryan Bates"] end Jeweler::GemcutterTasks.new rescue LoadError puts "Jeweler not available. Install it with: sudo gem install jeweler -s http://gemcutter.org" end
uniquify.gemspec
Gem::Specification.new do |s|
s.name = "uniquify"
s.version = "1.0.0"
s.author = "Ryan Bates"
s.email = "ryan@railscasts.com"
s.homepage = "http://github.com/ryanb/uniquify"
s.summary = "Generate a unique token with Active Record."
s.description = "Generate a unique token with Active Record. Also a nice example of a Ruby Gem."
s.files = Dir["{lib,test}/**/*"] + Dir["[A-Z]*"] + ["init.rb"]
s.require_path = "lib"
s.rubyforge_project = s.name
s.required_rubygems_version = ">= 1.3.4"
end
Gem::Specification.new do |s| s.name = "uniquify" s.version = "1.0.0" s.author = "Ryan Bates" s.email = "ryan@railscasts.com" s.homepage = "http://github.com/ryanb/uniquify" s.summary = "Generate a unique token with Active Record." s.description = "Generate a unique token with Active Record. Also a nice example of a Ruby Gem." s.files = Dir["{lib,test}/**/*"] + Dir["[A-Z]*"] + ["init.rb"] s.require_path = "lib" s.rubyforge_project = s.name s.required_rubygems_version = ">= 1.3.4" end

