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

#add_dependency_names, #cached!, #can_lock?, #dependency_names_to_double_check, #double_check_for, #extension_cache_path, #include?, #inspect, #local!, #local_only!, #path?, #remote!, #spec_names, #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

#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

#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
31
32
33
34
# 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_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