letsbuilders / gb-works-day

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About


Languages

Language:Ruby 100.0%