business_time icon indicating copy to clipboard operation
business_time copied to clipboard

handling negative business hours & days

Open paulcc opened this issue 9 years ago • 2 comments

At present, negative values are accepted but basically treated as zero. Compare:

irb> 1.hour.ago
 => Fri, 11 Sep 2015 11:41:00 BST +01:00

irb> (-10).days.since(1.hour.ago)
 => Tue, 01 Sep 2015 11:41:00 BST +01:00

irb> (-10).business_days.since(1.hour.ago)
 => Fri, 11 Sep 2015 11:41:00 BST +01:00

Maybe it's a bit daft to try to use negative business days or hours, but people like me will still try to do it! (Having negatives does simplify some interval-based calculations, and Rails does the sensible thing already.)

One option is to get (-x).business_FOO.since(y) to call x.business_FOO.before(y). Even throwing an exception would be better than silently doing nothing.

ps. still a very handy gem - thanks!

paulcc avatar Sep 11 '15 11:09 paulcc

Not a bad suggestion, but not one I have the time or inclination to research. I'll gladly accept a pull request with appropriate tests though.

bokmann avatar Feb 03 '16 20:02 bokmann

@bokmann I created a pull request according to suggestions in the above post, see https://github.com/bokmann/business_time/pull/158

xlts avatar May 05 '17 19:05 xlts