123456789_123456789_123456789_123456789_123456789_

Class: Bundler::Source::Metadata

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: Bundler::Source
Defined in: lib/bundler/source/metadata.rb

Instance Attribute Summary

Instance Method Summary

::Bundler::Source - Inherited

#can_lock?, #dependency_names_to_double_check,
#double_check_for

it’s possible that gems from one source depend on gems from some other source, so now we download gemspecs and iterate over those dependencies, looking for gems we don’t have info on yet.

#extension_cache_path, #include?, #inspect, #unmet_deps, #version_message, #earlier_version?, #extension_cache_slug, #print_using_message, #version_color

Instance Method Details

#==(other) Also known as: #eql?

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 53

def ==(other)
  self.class == other.class
end

#cached!

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 36

def cached!; end

#eql?(other)

Alias for #==.

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 56

alias_method :eql?, :==

#hash

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 58

def hash
  self.class.hash
end

#install(spec, _opts = {})

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 44

def install(spec, _opts = {})
  print_using_message "Using #{version_message(spec)}"
  nil
end

#options

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 40

def options
  {}
end

#remote!

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 38

def remote!; end

#specs

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 6

def specs
  @specs ||= Index.build do |idx|
    idx << Gem::Specification.new("Ruby\0", RubyVersion.system.to_gem_version_with_patchlevel)
    idx << Gem::Specification.new("RubyGems\0", Gem::VERSION) do |s|
      s.required_rubygems_version = Gem::Requirement.default
    end

    idx << Gem::Specification.new do |s|
      s.name     = "bundler"
      s.version  = VERSION
      s.license  = "MIT"
      s.platform = Gem::Platform::RUBY
      s.source   = self
      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 = File.expand_path("..", __FILE__)
    end

    if local_spec = Bundler.rubygems.find_name("bundler").find {|s| s.version.to_s == VERSION }
      idx << local_spec
    end

    idx.each {|s| s.source = self }
  end
end

#to_s

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 49

def to_s
  "the local ruby installation"
end

#version_message(spec)

[ GitHub ]

  
# File 'lib/bundler/source/metadata.rb', line 62

def version_message(spec)
  "#{spec.name} #{spec.version}"
end