Class: Bundler::Source::Rubygems::Remote

Inherits:
Object
  • Object
show all
Defined in:
lib/bundler/source/rubygems/remote.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri) ⇒ Remote

Returns a new instance of Remote.



9
10
11
12
13
14
15
16
17
# File 'lib/bundler/source/rubygems/remote.rb', line 9

def initialize(uri)
  orig_uri = uri
  uri = Bundler.settings.mirror_for(uri)
  @original_uri = orig_uri if orig_uri != uri
  fallback_auth = Bundler.settings.credentials_for(uri)

  @uri = apply_auth(uri, fallback_auth).freeze
  @anonymized_uri = remove_auth(@uri).freeze
end

Instance Attribute Details

#anonymized_uriObject (readonly)

Returns the value of attribute anonymized_uri.



7
8
9
# File 'lib/bundler/source/rubygems/remote.rb', line 7

def anonymized_uri
  @anonymized_uri
end

#original_uriObject (readonly)

Returns the value of attribute original_uri.



7
8
9
# File 'lib/bundler/source/rubygems/remote.rb', line 7

def original_uri
  @original_uri
end

#uriObject (readonly)

Returns the value of attribute uri.



7
8
9
# File 'lib/bundler/source/rubygems/remote.rb', line 7

def uri
  @uri
end

Instance Method Details

#cache_slugString

Returns A slug suitable for use as a cache key for this remote.

Returns:

  • (String)

    A slug suitable for use as a cache key for this remote.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/bundler/source/rubygems/remote.rb', line 22

def cache_slug
  @cache_slug ||= begin
    return nil unless SharedHelpers.md5_available?

    cache_uri = original_uri || uri

    host = cache_uri.to_s.start_with?("file://") ? nil : cache_uri.host

    uri_parts = [host, cache_uri.user, cache_uri.port, cache_uri.path]
    uri_digest = SharedHelpers.digest(:MD5).hexdigest(uri_parts.compact.join("."))

    uri_parts[-1] = uri_digest
    uri_parts.compact.join(".")
  end
end

#to_sObject



38
39
40
# File 'lib/bundler/source/rubygems/remote.rb', line 38

def to_s
  "rubygems remote at #{anonymized_uri}"
end