diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2021-11-11 23:58:40 +0100 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2021-12-03 20:00:50 +0900 |
commit | 248fae0ec43c2df6d9b545acc7f56bdfd5f89dec (patch) | |
tree | 1aaabdcb798992c18c1fa0fa5004fa99fb92416e /lib/bundler/source | |
parent | 7d974cc56fa0555beed0bf4f6fe34322cd24cd26 (diff) | |
download | ruby-248fae0ec43c2df6d9b545acc7f56bdfd5f89dec.tar.gz |
[rubygems/rubygems] Improve sources representation
We have two representations of a source. Once used for sorting, which
should not depend on the source's state, but solely on its static
information, like remotes. Another one used for error and informational
messages, which should properly inform about the exact state of the
source when the message is printed.
This commit makes the latter be the default implementation of `to_s`, so
that error and informational messages are more accurate by default.
https://github.com/rubygems/rubygems/commit/b5f2b88957
Diffstat (limited to 'lib/bundler/source')
-rw-r--r-- | lib/bundler/source/rubygems.rb | 18 | ||||
-rw-r--r-- | lib/bundler/source/rubygems_aggregate.rb | 2 |
2 files changed, 12 insertions, 8 deletions
diff --git a/lib/bundler/source/rubygems.rb b/lib/bundler/source/rubygems.rb index 2f9d1f5a12..8bc3aa17e9 100644 --- a/lib/bundler/source/rubygems.rb +++ b/lib/bundler/source/rubygems.rb @@ -98,26 +98,30 @@ module Bundler out << " specs:\n" end - def to_err + def to_s if remotes.empty? "locally installed gems" - elsif @allow_remote + elsif @allow_remote && @allow_cached && @allow_local + "rubygems repository #{remote_names}, cached gems or installed locally" + elsif @allow_remote && @allow_local "rubygems repository #{remote_names} or installed locally" - elsif @allow_cached - "cached gems from rubygems repository #{remote_names} or installed locally" + elsif @allow_remote + "rubygems repository #{remote_names}" + elsif @allow_cached && @allow_local + "cached gems or installed locally" else "locally installed gems" end end - def to_s + def identifier if remotes.empty? "locally installed gems" else - "rubygems repository #{remote_names} or installed locally" + "rubygems repository #{remote_names}" end end - alias_method :name, :to_s + alias_method :name, :identifier def specs @specs ||= begin diff --git a/lib/bundler/source/rubygems_aggregate.rb b/lib/bundler/source/rubygems_aggregate.rb index 09cf4002ea..99ef81ad54 100644 --- a/lib/bundler/source/rubygems_aggregate.rb +++ b/lib/bundler/source/rubygems_aggregate.rb @@ -16,7 +16,7 @@ module Bundler @index end - def to_err + def identifier to_s end |