Ruby latest stable (v2_5_5) - 0 notes
  • 1_8_6_287
  • 1_8_7_72
  • 1_8_7_330
  • 1_9_1_378
  • 1_9_2_180
  • 1_9_3_125
  • 1_9_3_392
  • 2_1_10
  • 2_2_9
  • 2_4_6
  • 2_5_5
  • 2_6_3 (0)
  • What's this?

Module not available on this version

This module is only available on newer versions. The first available version of the module is shown here.

This class provides the base to build source plugins All the method here are required to build a source plugin (except `uri_hash`, `gem_install_dir`; they are helpers).

Defaults for methods, where ever possible are provided which is expected to work. But, all source plugins have to override `fetch_gemspec_files` and `install`. Defaults are also not provided for `remote!`, `cache!` and `unlock!`.

The defaults shall work for most situations but nevertheless they can be (preferably should be) overridden as per the plugins’ needs safely (as long as they behave as expected). On overriding `initialize` you should call super first.

If required plugin should override `hash`, `==` and `eql?` methods to be able to match objects representing same sources, but may be created in different situation (like form gemfile and lockfile). The default ones checks only for class and uri, but elaborate source plugins may need more comparisons (e.g. git checking on branch or tag).

@!attribute [r] uri

@return [String] the remote specified with `source` block in Gemfile

@!attribute [r] options

@return [String] options passed during initialization (either from
  lockfile or Gemfile)

@!attribute [r] name

@return [String] name that can be used to uniquely identify a source

@!attribute [rw] dependency_names

@return [Array<String>] Names of dependencies that the source should
  try to resolve. It is not necessary to use this list intenally. This
  is present to be compatible with `Definition` and is used by
  rubygems source.
Show files where this module is defined (1 file)
Register or log in to add new notes.