GBWorkDay
Library to make calculation on work days.
Unlike others libraries like business_time,
working_hours, biz
it operates on whole days, not hours.
Installation
Add this line to your application's Gemfile:
gem 'gb_work_day'And then execute:
$ bundle
Or install it yourself as:
$ gem install gb_work_day
Usage
Work week
Set default work week for current thread
beginning_of_week = 1 #Monday
work_days = 5 #work days are Monday-Friday
GBWorkDay::WorkWeek.current = GBWorkWeek.new(work_days, beginning_of_week)or if you want to setup per instance
beginning_of_week = 1 #Monday
work_days = 5 #work days are Monday-Friday
week = GBWorkWeek.new(work_days, beginning_of_week)
my_date = Date.today.to_work_date(week)or
beginning_of_week = 1 #Monday
work_days = 5 #work days are Monday-Friday
week = GBWorkWeek.new(work_days, beginning_of_week)
my_date = my_date
#some code here
my_date.week = weekDate and Time operation
Check if today is a work day
Date.today.work?or
Time.now.work?Check if today is holiday
Date.today.free?or
Time.now.free?Get next working day
Date.today.next_work_dayor
Time.now.next_work_dayYou can also make more complicated calculations
delivery_date = Date.today + 10.work_daysor
amount_of_work = (start_date.to_work_date - end_date).work_daysContributing
- Fork it ( https://github.com/GenieBelt/gb-works-day/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request