Parent

Included Modules

Class Index [+]

Quicksearch

Bundler::RemoteSpecification

Represents a lazily loaded gem specification, where the full specification is on the source server in rubygems’ “quick” index. The proxy object is to be seeded with what we’re given from the source’s abbreviated index - the full specification will only be fetched when necesary.

Attributes

name[R]
version[R]
platform[R]
source[RW]

Public Class Methods

new(name, version, platform, source_uri) click to toggle source
    # File lib/bundler/remote_specification.rb, line 15
15:     def initialize(name, version, platform, source_uri)
16:       @name     = name
17:       @version  = version
18:       @platform = platform
19:       @source_uri = source_uri
20:     end

Public Instance Methods

__swap__(spec) click to toggle source

Because Rubyforge cannot be trusted to provide valid specifications once the remote gem is downloaded, the backend specification will be swapped out.

    # File lib/bundler/remote_specification.rb, line 39
39:     def __swap__(spec)
40:       @specification = spec
41:     end
fetch_platform() click to toggle source

Needed before installs, since the arch matters then and quick specs don’t bother to include the arch in the platform string

    # File lib/bundler/remote_specification.rb, line 24
24:     def fetch_platform
25:       @platform = _remote_specification.platform
26:     end
full_name() click to toggle source
    # File lib/bundler/remote_specification.rb, line 28
28:     def full_name
29:       if platform == Gem::Platform::RUBY or platform.nil? then
30:         "#{@name}-#{@version}"
31:       else
32:         "#{@name}-#{@version}-#{platform}"
33:       end
34:     end

Private Instance Methods

_remote_specification() click to toggle source
    # File lib/bundler/remote_specification.rb, line 45
45:     def _remote_specification
46:       @specification ||= begin
47:         Gem::SpecFetcher.new.fetch_spec([@name, @version, @platform], URI(@source_uri.to_s))
48:       end
49:     end
method_missing(method, *args, &blk) click to toggle source
    # File lib/bundler/remote_specification.rb, line 51
51:     def method_missing(method, *args, &blk)
52:       if Gem::Specification.new.respond_to?(method)
53:         _remote_specification.send(method, *args, &blk)
54:       else
55:         super
56:       end
57:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.