business_time
business_time copied to clipboard
handling negative business hours & days
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!
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 I created a pull request according to suggestions in the above post, see https://github.com/bokmann/business_time/pull/158