Build-a-Gem Workshop
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Build-a-Gem Workshop

on

  • 846 views

Slides from the Newer Yankee Workshop session "Build-a-Gem"

Slides from the Newer Yankee Workshop session "Build-a-Gem"

Statistics

Views

Total Views
846
Views on SlideShare
844
Embed Views
2

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 2

http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Build-a-Gem Workshop Presentation Transcript

  • 1. Newer Yankee Workshop Build-a-Gem
  • 2. What's a Gem?
    • Reusable Pieces of Ruby Code
    • 3. Packaged Following a Convention
    • 4. Python Eggs, Perl CPAN Modules, PHP PEAR Packages
  • 5. Why Build a Gem?
    • So people can use your wonderful code
    • 6. DRY
    • 7. Version control across different project
  • 8. Good Practices
    • Don't require “rubygems” in your library - http://gist.github.com/54177
    • 9. Always have test coverage
    • 10. Write your README (README.rdoc)
    • 11. Expose commit history (github is most common)
    • 12. Good documentation – RDOC
    • 13. Versions 0.0.0 (major, minor, patch)
    • 14. Use pre for Prereleases ( 0.1.0pre1 )
  • 15. Gem Anatomy
    • http://github.com/technicalpickles/the-perfect-gem
    LICENSE README Rakefile VERSION <gem-name>.gemspec ./lib ./tests ./specs ./features
    • Gem::Specification
    Gem::Specification.new do |s| s.name = 'example' s.version = '1.0' s.summary = “example gem ...” end
  • 16. But... we'll be using Jeweler http://github.com/technicalpickles/jeweler
  • 17. Distributing Gems
    • gems.rubyforge.org, rubygems.org, gemcutter.org (confused?)
    • 18. github also used to host gems (more confused?)
    • 19. Consistency is coming / here
    http://update.gemcutter.org/2010/02/20/rubygems-org-move-complete.html
    • Host your own gems, use gem server
    • 20. Cache / distribute .gem files – building sometimes makes “binaries” which are system-specific.
  • 21. Using Gems
    • gem install <gem>
    • 22. $LOAD_PATH then require gem
    • 23. require 'rubygems'
    • 24. gem bundler (bundler) - bundler under rapid development!
  • 25. Hello World (simple example followed by nextbus example followed by everyone pairing and gem building)