Class: Bundler::Source::Metadata

Inherits:
Bundler::Source show all
Defined in:
lib/bundler/source/metadata.rb

Instance Attribute Summary

Attributes inherited from Bundler::Source

#dependency_names

Instance Method Summary collapse

Methods inherited from Bundler::Source

#can_lock?, #dependency_names_to_double_check, #double_check_for, #include?, #inspect, #path?, #unmet_deps

Instance Method Details

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



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

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

#cached!Object



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

def cached!; end

#hashObject



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

def hash
  self.class.hash
end

#install(spec, _opts = {}) ⇒ Object



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

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

#optionsObject



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

def options
  {}
end

#remote!Object



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

def remote!; end

#specsObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 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)

    idx << Gem::Specification.new do |s|
      s.name     = "bundler"
      s.version  = VERSION
      s.platform = Gem::Platform::RUBY
      s.source   = self
      s.authors  = ["bundler team"]
      s.bindir   = "exe"
      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 loaded_spec = nil && Bundler.rubygems.loaded_specs("bundler")
      idx << loaded_spec # this has to come after the fake gemspec, to override it
    elsif 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_sObject



45
46
47
# File 'lib/bundler/source/metadata.rb', line 45

def to_s
  "the local ruby installation"
end

#version_message(spec) ⇒ Object



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

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