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



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

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

#cached!Object



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

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



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

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.



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

def double_check_for(*); end

#extension_cache_path(spec) ⇒ Object



78
79
80
81
82
83
84
85
# File 'lib/bundler/source.rb', line 78

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

#identifierObject



70
71
72
# File 'lib/bundler/source.rb', line 70

def identifier
  to_s
end

#include?(other) ⇒ Boolean

Returns:

  • (Boolean)


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

def include?(other)
  other == self
end

#inspectObject



66
67
68
# File 'lib/bundler/source.rb', line 66

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

#local!Object



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

def local!; end

#local_only!Object



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

def local_only!; end

#path?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/bundler/source.rb', line 74

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

#remote!Object



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

def remote!; end

#spec_namesObject



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

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