diff options
| author | Sebastian Staudt | 2015-10-07 22:48:42 +0200 |
|---|---|---|
| committer | Baptiste Fontaine | 2015-12-22 12:46:03 +0100 |
| commit | f0a370ea12f5b65faa361bb8f40c45bd1513aede (patch) | |
| tree | 5f31c72f5583872212aeabcd8df075e1e1eb0aea /Library | |
| parent | 2392574a777c5f97ed76f13cefbe9a497fc8f384 (diff) | |
| download | brew-f0a370ea12f5b65faa361bb8f40c45bd1513aede.tar.bz2 | |
Reimplement #pretty_duration
Also reuse this improved implementation in the GitHub rate limit errors.
Closes Homebrew/homebrew#44721.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/test/test_utils.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 21 |
2 files changed, 16 insertions, 11 deletions
diff --git a/Library/Homebrew/test/test_utils.rb b/Library/Homebrew/test/test_utils.rb index f533e3f90..d395bbc70 100644 --- a/Library/Homebrew/test/test_utils.rb +++ b/Library/Homebrew/test/test_utils.rb @@ -49,11 +49,11 @@ class UtilTests < Homebrew::TestCase end def test_pretty_duration - assert_equal "2 seconds", pretty_duration(1) + assert_equal "1 second", pretty_duration(1) assert_equal "2 seconds", pretty_duration(2.5) assert_equal "42 seconds", pretty_duration(42) - assert_equal "4.2 minutes", pretty_duration(252) - assert_equal "4.2 minutes", pretty_duration(252.45) + assert_equal "4 minutes", pretty_duration(240) + assert_equal "4 minutes 12 seconds", pretty_duration(252.45) end def test_plural diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index b1a242044..aeb706299 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -138,9 +138,18 @@ def pretty_uninstalled(f) end def pretty_duration(s) - return "2 seconds" if s < 3 # avoids the plural problem ;) - return "#{s.to_i} seconds" if s < 120 - "%.1f minutes" % (s/60.0) + s = s.to_i + res = "" + + if s > 59 + m = s / 60 + s %= 60 + res = "#{m} minute#{plural m}" + return res if s == 0 + res << " " + end + + res + "#{s} second#{plural s}" end def plural(n, s = "s") @@ -465,11 +474,7 @@ module GitHub end def pretty_ratelimit_reset(reset) - if (seconds = Time.at(reset) - Time.now) > 180 - "%d minutes %d seconds" % [seconds / 60, seconds % 60] - else - "#{seconds} seconds" - end + pretty_duration(Time.at(reset) - Time.now) end end |
