Class: Bundler::Source::Rubygems::Remote
- Inherits:
-
Object
- Object
- Bundler::Source::Rubygems::Remote
- Defined in:
- lib/bundler/source/rubygems/remote.rb
Instance Attribute Summary collapse
-
#anonymized_uri ⇒ Object
readonly
Returns the value of attribute anonymized_uri.
-
#original_uri ⇒ Object
readonly
Returns the value of attribute original_uri.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
-
#cache_slug ⇒ String
A slug suitable for use as a cache key for this remote.
-
#initialize(uri) ⇒ Remote
constructor
A new instance of Remote.
- #to_s ⇒ Object
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_uri ⇒ Object (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_uri ⇒ Object (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 |
#uri ⇒ Object (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_slug ⇒ String
Returns A slug suitable for use as a cache key for this remote.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/bundler/source/rubygems/remote.rb', line 25 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_parts.compact! uri_digest = SharedHelpers.digest(:MD5).hexdigest(uri_parts.join(".")) uri_parts.pop host_parts = uri_parts.join(".") return uri_digest if host_parts.empty? shortened_host_parts = host_parts[0...MAX_CACHE_SLUG_HOST_SIZE] [shortened_host_parts, uri_digest].join(".") end end |
#to_s ⇒ Object
46 47 48 |
# File 'lib/bundler/source/rubygems/remote.rb', line 46 def to_s "rubygems remote at #{anonymized_uri}" end |