A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday!
Go to file
2008-12-30 11:25:24 -08:00
data Added UPS and NYSE defs 2008-11-20 05:46:34 +00:00
lib Added UPS and NYSE defs 2008-11-20 05:46:34 +00:00
test Added UPS and NYSE defs 2008-11-20 05:46:34 +00:00
CHANGELOG Added UPS and NYSE defs 2008-11-20 05:46:34 +00:00
LICENSE Added rakefile to gem spec and upped version to 0.9.2 2008-07-24 03:50:04 +00:00
rakefile.rb Added UPS and NYSE defs 2008-11-20 05:46:34 +00:00
README Added rakefile to gem spec and upped version to 0.9.2 2008-07-24 03:50:04 +00:00
README.md Added readme markdown 2008-12-30 11:25:24 -08:00
REFERENCES Updated docs 2007-12-19 22:16:30 +00:00

= Ruby Holidays Gem

A set of functions to deal with holidays in Ruby.

Extends Ruby's built-in Date class and supports custom holiday definition lists.

=== Installation

To install the gem from RubyForge:

gem install holidays

Or, download the source .tgz file from http://rubyforge.org/holidays and extract it somewhere in your include path.

=== Examples

For more information, see the notes at the top of the Holidays module.

==== Using the Holidays class Get all holidays on April 25, 2008 in Australia. date = Date.civil(2008,4,25)

Holidays.on(date, :au) => [{:name => 'ANZAC Day',...}]

Get holidays that are observed on July 2, 2007 in British Columbia, Canada. date = Date.civil(2007,7,2)

Holidays.on(date, :ca_bc, :observed) => [{:name => 'Canada Day',...}]

Get all holidays in July, 2008 in Canada and the US. from = Date.civil(2008,7,1) to = Date.civil(2008,7,31)

Holidays.between(from, to, :ca, :us) => [{:name => 'Canada Day',...} {:name => 'Independence Day',...}]

Get informal holidays in February. from = Date.civil(2008,2,1) to = Date.civil(2008,2,15)

Holidays.between(from, to) => [{:name => 'Valentine's Day',...}]

==== Extending Ruby's Date class Check which holidays occur in Iceland on January 1, 2008. d = Date.civil(2008,7,1)

d.holidays(:is) => [{:name => 'Nýársdagur'}...]

Lookup Canada Day in different regions. d = Date.civil(2008,7,1)

d.holiday?(:ca) # Canada => true

d.holiday?(:ca_bc) # British Columbia, Canada => true

d.holiday?(:fr) # France => false

=== Credits and code

By Alex Dunae (dunae.ca, e-mail 'code' at the same domain), 2007-08.

Made on Vancouver Island.