Class: Bundler::Source

Inherits:
Object
  • Object
show all
Defined in:
lib/bundler/source.rb,
lib/bundler/source/git.rb,
lib/bundler/source/path.rb,
lib/bundler/source/gemspec.rb,
lib/bundler/source/metadata.rb,
lib/bundler/source/rubygems.rb,
lib/bundler/source/git/git_proxy.rb,
lib/bundler/source/path/installer.rb,
lib/bundler/source/rubygems/remote.rb,
lib/bundler/source/rubygems_aggregate.rb

Direct Known Subclasses

Metadata, Path, Rubygems

Defined Under Namespace

Classes: Gemspec, Git, Metadata, Path, Rubygems, RubygemsAggregate

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dependency_namesObject

Returns the value of attribute dependency_names.



12
13
14
# File 'lib/bundler/source.rb', line 12

def dependency_names
  @dependency_names
end

Instance Method Details

#add_dependency_names(names) ⇒ Object



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

def add_dependency_names(names)
  @dependency_names = Array(dependency_names) | Array(names)
end

#cached!Object



39
# File 'lib/bundler/source.rb', line 39

def cached!; end

#can_lock?(spec) ⇒ Boolean

Returns:

  • (Boolean)


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

def can_lock?(spec)
  spec.source == self
end

#dependency_names_to_double_checkObject



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

def dependency_names_to_double_check
  specs.dependency_names
end

#double_check_forObject

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.



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

def double_check_for(*); end

#extension_cache_path(spec) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/bundler/source.rb', line 72

def extension_cache_path(spec)
  return unless Bundler.feature_flag.global_gem_cache?
  return unless source_slug = extension_cache_slug(spec)
  Bundler.user_cache.join(
    "extensions", Gem::Platform.local.to_s, Bundler.ruby_scope,
    source_slug, spec.full_name
  )
end

#include?(other) ⇒ Boolean

Returns:

  • (Boolean)


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

def include?(other)
  other == self
end

#inspectObject



64
65
66
# File 'lib/bundler/source.rb', line 64

def inspect
  "#<#{self.class}:0x#{object_id} #{self}>"
end

#local!Object



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

def local!; end

#path?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/bundler/source.rb', line 68

def path?
  instance_of?(Bundler::Source::Path)
end

#remote!Object



41
# File 'lib/bundler/source.rb', line 41

def remote!; end

#spec_namesObject



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

def spec_names
  specs.spec_names
end

#unmet_depsObject



14
15
16
# File 'lib/bundler/source.rb', line 14

def unmet_deps
  specs.unmet_dependency_names
end

#version_message(spec) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/bundler/source.rb', line 18

def version_message(spec)
  message = "#{spec.name} #{spec.version}"
  message += " (#{spec.platform})" if spec.platform != Gem::Platform::RUBY && !spec.platform.nil?

  if Bundler.locked_gems
    locked_spec = Bundler.locked_gems.specs.find {|s| s.name == spec.name }
    locked_spec_version = locked_spec.version if locked_spec
    if locked_spec_version && spec.version != locked_spec_version
      message += Bundler.ui.add_color(" (was #{locked_spec_version})", version_color(spec.version, locked_spec_version))
    end
  end

  message
end