Ruby latest stable (v1_9_3_392) - 0 notes

RubyGems is the Ruby standard for publishing and managing third party libraries.

For user documentation, see:

For gem developer documentation see:

Further RubyGems documentation can be found at:

RubyGems Plugins

As of RubyGems 1.3.2, RubyGems will load plugins installed in gems or $LOAD_PATH. Plugins must be named ‘rubygems_plugin’ (.rb, .so, etc) and placed at the root of your gem’s #require_path. Plugins are discovered via Gem::find_files then loaded. Take care when implementing a plugin as your plugin file may be loaded multiple times if multiple versions of your gem are installed.

For an example plugin, see the graph gem which adds a `gem graph` command.

RubyGems Defaults, Packaging

RubyGems defaults are stored in rubygems/defaults.rb. If you’re packaging RubyGems or implementing Ruby you can change RubyGems’ defaults.

For RubyGems packagers, provide lib/rubygems/operating_system.rb and override any defaults from lib/rubygems/defaults.rb.

For Ruby implementers, provide lib/rubygems/#{RUBY_ENGINE}.rb and override any defaults from lib/rubygems/defaults.rb.

If you need RubyGems to perform extra work on install or uninstall, your defaults override file can set pre and post install and uninstall hooks. See Gem::pre_install, Gem::pre_uninstall, Gem::post_install, Gem::post_uninstall.


You can submit bugs to the RubyGems bug tracker on RubyForge


RubyGems is currently maintained by Eric Hodel.

RubyGems was originally developed at RubyConf 2003 by:

  • Rich Kilmer – rich(at)infoether.com

  • Chad Fowler – chad(at)chadfowler.com

  • David Black – dblack(at)wobblini.net

  • Paul Brannan – paul(at)atdesk.com

  • Jim Weirch – jim(at)weirichhouse.org


  • Gavin Sinclair – gsinclair(at)soyabean.com.au

  • George Marrows – george.marrows(at)ntlworld.com

  • Dick Davies – rasputnik(at)hellooperator.net

  • Mauricio Fernandez – batsman.geo(at)yahoo.com

  • Simon Strandgaard – neoneye(at)adslhome.dk

  • Dave Glasser – glasser(at)mit.edu

  • Paul Duncan – pabs(at)pablotron.org

  • Ville Aine – vaine(at)cs.helsinki.fi

  • Eric Hodel – drbrain(at)segment7.net

  • Daniel Berger – djberg96(at)gmail.com

  • Phil Hagelberg – technomancy(at)gmail.com

  • Ryan Davis – ryand-ruby(at)zenspider.com

  • Evan Phoenix – evan@phx.io

(If your name is missing, PLEASE let us know!)


-The RubyGems Team

Provides a single method deprecate to be used to declare when something is going away.

class Legacy
  def self.klass_method
    # ...

  def instance_method
    # ...

  extend Gem::Deprecate
  deprecate :instance_method, "X.z", 2011, 4

  class << self
    extend Gem::Deprecate
    deprecate :klass_method, :none, 2011, 4




VERSION = '1.8.23'

WIN_PATTERNS = [ /bccwin/i, /cygwin/i, /djgpp/i, /mingw/i, /mswin/i, /wince/i, ]

MARSHAL_SPEC_DIR = "quick/Marshal.#{Gem.marshal_version}/"


[R] loaded_specs

Hash of loaded Gem::Specification keyed by name

[R] post_build_hooks

The list of hooks to be run before Gem::Install#install finishes installation

[R] post_install_hooks

The list of hooks to be run before Gem::Install#install does any work

[R] post_reset_hooks

The list of hooks to be run after Gem::Specification.reset is run.

[R] post_uninstall_hooks

The list of hooks to be run before Gem::Uninstall#uninstall does any work

[R] pre_install_hooks

The list of hooks to be run after Gem::Install#install is finished

[R] pre_reset_hooks

The list of hooks to be run before Gem::Specification.reset is run.

[R] pre_uninstall_hooks

The list of hooks to be run after Gem::Uninstall#uninstall is finished

[W] ssl_available

Is SSL available?

Show files where this module is defined (6 files)
Register or log in to add new notes.