class Bundler::Source::Metadata

Public Instance Methods

==(other) click to toggle source
# File bundler/source/metadata.rb, line 50
def ==(other)
  self.class == other.class
end
Also aliased as: eql?
eql?(other)
Alias for: ==
hash() click to toggle source
# File bundler/source/metadata.rb, line 55
def hash
  self.class.hash
end
install(spec, _opts = {}) click to toggle source
# File bundler/source/metadata.rb, line 41
def install(spec, _opts = {})
  print_using_message "Using #{version_message(spec)}"
  nil
end
options() click to toggle source
# File bundler/source/metadata.rb, line 37
def options
  {}
end
specs() click to toggle source
# File bundler/source/metadata.rb, line 6
def specs
  @specs ||= Index.build do |idx|
    idx << Gem::Specification.new("Ruby\0", Bundler::RubyVersion.system.gem_version)
    idx << Gem::Specification.new("RubyGems\0", Gem::VERSION) do |s|
      s.required_rubygems_version = Gem::Requirement.default
    end

    if local_spec = Gem.loaded_specs["bundler"]
      raise CorruptBundlerInstallError.new(local_spec) if local_spec.version.to_s != Bundler::VERSION

      idx << local_spec
    else
      idx << Gem::Specification.new do |s|
        s.name     = "bundler"
        s.version  = VERSION
        s.license  = "MIT"
        s.platform = Gem::Platform::RUBY
        s.authors  = ["bundler team"]
        s.bindir   = "exe"
        s.homepage = "https://bundler.io"
        s.summary  = "The best way to manage your application's dependencies"
        s.executables = %w[bundle]
        # can't point to the actual gemspec or else the require paths will be wrong
        s.loaded_from = __dir__
      end
    end

    idx.each {|s| s.source = self }
  end
end
to_s() click to toggle source
# File bundler/source/metadata.rb, line 46
def to_s
  "the local ruby installation"
end
version_message(spec) click to toggle source
# File bundler/source/metadata.rb, line 59
def version_message(spec)
  "#{spec.name} #{spec.version}"
end