create your-own-gem-with-github-jeweler-rubygems

17
Create Your Own Gem with github, jeweler and rubygems

Upload: nico-hagenburger

Post on 15-Jan-2015

3.600 views

Category:

Technology


2 download

DESCRIPTION

Create your own gem with github, jeweler and rubygems.org. I gave this talk at Railscamp Germany 4.

TRANSCRIPT

Page 1: Create your-own-gem-with-github-jeweler-rubygems

Create Your Own Gem

with github, jeweler and rubygems

Page 2: Create your-own-gem-with-github-jeweler-rubygems

Gem structure

Gem repository

Gem versioning

Gem releasing

Page 3: Create your-own-gem-with-github-jeweler-rubygems

Get a Github Account

Don’t you have one yet?

Page 4: Create your-own-gem-with-github-jeweler-rubygems

Rubygems Account

Page 5: Create your-own-gem-with-github-jeweler-rubygems

gem install jeweler

Page 6: Create your-own-gem-with-github-jeweler-rubygems

Create a Projectjeweler an-awesome-gem --rspec --rubygemscd an-awesome-gem

Safe some time with defaults:export JEWELER_OPTS="--rspec"

Page 7: Create your-own-gem-with-github-jeweler-rubygems

Create a Versionrake version:write

> version is 0.0.0

Page 8: Create your-own-gem-with-github-jeweler-rubygems

Update Versionsrake version:bump:minor

> version is 0.1.0

major . minor . patch

Page 9: Create your-own-gem-with-github-jeweler-rubygems

Descriptionrequire 'rubygems'require 'rake'

begin require 'jeweler' Jeweler::Tasks.new do |gem| gem.name = "an-awesome-gem" gem.summary = %Q{TODO: one-line summary of your gem} gem.description = %Q{TODO: longer description of your gem} gem.email = "[email protected]" gem.homepage = "http://github.com/hagenburger/an-awesome-gem" gem.authors = ["Nico Hagenburger"] gem.add_development_dependency "rspec", ">= 1.2.9" # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings end

an-awesome-gem/Rakefile

Page 10: Create your-own-gem-with-github-jeweler-rubygems

Github Repository

Page 11: Create your-own-gem-with-github-jeweler-rubygems

Git Itgit add .git commit -m "initial commit"

Page 12: Create your-own-gem-with-github-jeweler-rubygems

Local Install[sudo] rake install

Be careful:

- Only commited files will be installed

- Once commited but changed files will be installed with current not commited version

Page 13: Create your-own-gem-with-github-jeweler-rubygems

Release Itrake release

Magic:✓ Commits✓ Creates a release tag✓ Pushes to github✓ Releases to:

rubygems.org/gems/an-awesome-gem

Page 14: Create your-own-gem-with-github-jeweler-rubygems

Ready!

Page 15: Create your-own-gem-with-github-jeweler-rubygems

Don’t Forget

★ Edit/create README.md

★ Add a CHANGELOG.md

★ Add dependencies in Rakefile

★ Write some specs/tests

★ Promote it!

Page 16: Create your-own-gem-with-github-jeweler-rubygems

Any questions?

Page 17: Create your-own-gem-with-github-jeweler-rubygems

[email protected]

twitter

blog

first name

last name