Class: Bundler::Source::Metadata

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

Instance Attribute Summary

Attributes inherited from Bundler::Source

#checksum_store, #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, #identifier, #include?, #inspect, #local!, #local_only!, #path?, #remote!, #spec_names, #unmet_deps

Instance Method Details

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



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

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

#hashObject



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

def hash
  self.class.hash
end

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



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

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

#optionsObject



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

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
# File 'lib/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"]
      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_sObject



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

def to_s
  "the local ruby installation"
end

#version_message(spec) ⇒ Object



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

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