Project

nextday

0.0
No commit activity in last 3 years
No release in over 3 years
Finds the Next Working Day even if holidays are in the way. Extends Date with a .next_working_day instance method.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 2.10.0
>= 0

Runtime

>= 0
>= 0
 Project Readme

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'