holidays/README.rdoc

78 lines
1.9 KiB
Plaintext
Raw Normal View History

= Ruby Holidays Gem
2007-11-20 01:58:20 +01:00
2007-11-30 05:36:08 +01:00
A set of functions to deal with holidays in Ruby.
2008-12-30 20:40:21 +01:00
Extends Ruby's built-in Date class and supports custom holiday definition lists.
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
=== Installation
2008-12-30 20:40:21 +01:00
To install the gem from GitHub:
gem sources -a http://gems.github.com
2008-12-31 01:53:00 +01:00
gem install alexdunae-holidays
2008-12-30 20:40:21 +01:00
Or, download the source <tt>.tgz</tt> file from http://rubyforge.org/holidays and
2007-11-30 05:36:08 +01:00
extract it somewhere in your include path.
2008-12-30 20:40:21 +01:00
=== Examples
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
For more information, see the notes at the top of the Holidays module.
2008-12-30 20:40:21 +01:00
==== Using the Holidays class
2007-11-30 05:36:08 +01:00
Get all holidays on April 25, 2008 in Australia.
date = Date.civil(2008,4,25)
2008-12-30 20:40:21 +01:00
2007-12-19 23:25:56 +01:00
Holidays.on(date, :au)
=> [{:name => 'ANZAC Day',...}]
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
Get holidays that are observed on July 2, 2007 in British Columbia, Canada.
date = Date.civil(2007,7,2)
2008-12-30 20:40:21 +01:00
2007-12-19 23:25:56 +01:00
Holidays.on(date, :ca_bc, :observed)
2007-11-30 05:36:08 +01:00
=> [{:name => 'Canada Day',...}]
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
Get all holidays in July, 2008 in Canada and the US.
from = Date.civil(2008,7,1)
2008-12-30 20:40:21 +01:00
to = Date.civil(2008,7,31)
2007-11-30 05:36:08 +01:00
Holidays.between(from, to, :ca, :us)
=> [{:name => 'Canada Day',...}
2007-11-30 01:49:33 +01:00
{:name => 'Independence Day',...}]
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
Get informal holidays in February.
from = Date.civil(2008,2,1)
2008-12-30 20:40:21 +01:00
to = Date.civil(2008,2,15)
2007-11-30 05:36:08 +01:00
Holidays.between(from, to)
=> [{:name => 'Valentine\'s Day',...}]
2008-12-30 20:40:21 +01:00
==== Extending Ruby's Date class
2007-11-30 05:36:08 +01:00
Check which holidays occur in Iceland on January 1, 2008.
d = Date.civil(2008,7,1)
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
d.holidays(:is)
=> [{:name => 'Nýársdagur'}...]
2008-12-30 20:40:21 +01:00
2007-11-30 05:36:08 +01:00
Lookup Canada Day in different regions.
d = Date.civil(2008,7,1)
2008-12-30 20:40:21 +01:00
d.holiday?(:ca) # Canada
2007-11-30 05:36:08 +01:00
=> true
2008-12-30 20:40:21 +01:00
d.holiday?(:ca_bc) # British Columbia, Canada
2007-11-30 05:36:08 +01:00
=> true
2008-12-30 20:40:21 +01:00
d.holiday?(:fr) # France
2007-11-30 05:36:08 +01:00
=> false
2008-12-30 20:40:21 +01:00
=== Credits and code
2008-12-30 20:40:21 +01:00
* Project page: http://code.dunae.ca/holidays
2008-12-30 20:40:21 +01:00
* Source: http://github.com/alexdunae/holidays
* Docs: http://code.dunae.ca/holidays/doc
2008-12-30 20:40:21 +01:00
2010-03-04 09:08:49 +01:00
By Alex Dunae (dunae.ca, e-mail 'code' at the same domain), 2007-10.
2008-12-30 20:40:21 +01:00
Made on Vancouver Island.