Skip to content

Finds the Next Working Day even if holidays are in the way.

Notifications You must be signed in to change notification settings

stinkyink/nextday

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nextday

Build Status

Finds the Next Working Day even if holidays are in the way.

Extends Date, Time and DateTime to allow you to find the next working day

Nextday only checks for English public holidays at the moment, I aim to extend it to support locales in the near future.

Usage

Find the next working day

Date.today.next_working_day
DateTime.today.next_working_day
Time.now.next_working_day

Find the previous working day

Date.today.previous_working_day
DateTime.today.previous_working_day
Time.now.previous_working_day

Is the current day a working day?

Date.today.working_day?
DateTime.today.working_day?
Time.now.working_day?

When will an item be despatched?

Date.today.despatch_day
DateTime.today.despatch_day
Time.now.despatch_day

When will an item be delivered?

Date.today.delivery_day
DateTime.today.delivery_day
Time.now.delivery_day

Rack Application

To make caching easier you can mount the Nextday::JSON in your application so you can poll it every few minutes and have next to real time data.

It will return so:

{
  "cut_off_time": "16:00",
  "working_day": false,
  "next_working_day": "2012-06-11",
  "previous_working_day": "2012-06-08",
  "despatch_day": "2012-06-11",
  "delivery_day": "2012-06-12"
}

Rails

require 'nextday/json'

YourAmazing::Application.routes.draw do
  mount Nextday::JSON.new, :at => "/nextday.json"
end

Configuration

To set the cut off time to a different value:

Nextday::Config.cut_off_time = "18:47"

Installation

To use with bundler add nextday to your gem file.

gem 'nextday'

About

Finds the Next Working Day even if holidays are in the way.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%