diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-10-14 18:08:10 -0700 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-12-10 20:59:02 +0900 |
commit | 38722fa179fcec549300b2f35206f4eb168f202e (patch) | |
tree | 34ccdd618ccf8759f1c6a173ec4ad6cb93386ad6 /lib/logger | |
parent | eb18cb3e476db3bc44d489e090e1535237c4c6c9 (diff) | |
download | ruby-38722fa179fcec549300b2f35206f4eb168f202e.tar.gz |
[ruby/logger] Raise ArgumentError for invalid shift_age
Consider 'now' and 'everytime' as valid values for the previous
behavior of rotating everytime.
Fixes Ruby Bug 15977
https://github.com/ruby/logger/commit/f92979a376
Diffstat (limited to 'lib/logger')
-rw-r--r-- | lib/logger/period.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/logger/period.rb b/lib/logger/period.rb index 76a8c3b011..0a291dbbbe 100644 --- a/lib/logger/period.rb +++ b/lib/logger/period.rb @@ -15,8 +15,10 @@ class Logger when 'monthly' t = Time.mktime(now.year, now.month, 1) + SiD * 32 return Time.mktime(t.year, t.month, 1) - else + when 'now', 'everytime' return now + else + raise ArgumentError, "invalid :shift_age #{shift_age.inspect}, should be daily, weekly, monthly, or everytime" end if t.hour.nonzero? or t.min.nonzero? or t.sec.nonzero? hour = t.hour @@ -34,8 +36,10 @@ class Logger t = Time.mktime(now.year, now.month, now.mday) - (SiD * now.wday + SiD / 2) when 'monthly' t = Time.mktime(now.year, now.month, 1) - SiD / 2 - else + when 'now', 'everytime' return now + else + raise ArgumentError, "invalid :shift_age #{shift_age.inspect}, should be daily, weekly, monthly, or everytime" end Time.mktime(t.year, t.month, t.mday, 23, 59, 59) end |