0.0
No commit activity in last 3 years
No release in over 3 years
Library extending Time and Date to do calculations for work days. Unlike others libraries it operates on whole days, not hours.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

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 = week

Date 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_day

or

Time.now.next_work_day

You can also make more complicated calculations

delivery_date = Date.today + 10.work_days

or

amount_of_work = (start_date.to_work_date - end_date).work_days

Contributing

  1. Fork it ( https://github.com/GenieBelt/gb-works-day/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Alternatives