Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A Rails plugin that is making months smarter in Ruby (and Rails).
branch: rulesets

This branch is even with master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


NOTE: Please read the wiki for usage examples and to see how you can help our project!

Big Thanks to JSilver for turning this project into a gem on gemcutter!

SmartMonth is a "bodysnatcher" gem that takes boring Date month fixnums and replaces them with a rich toolkit of functionality. You can use SmartMonth to:

- Determine the first tuesday of any month in any year.
- Determine all of the fridays of any month in any year.
- Iterate through all the days of a month.
- Determine how many days of the month there are.
- Determine the first and last days of the month.
- And other fun date/month related things!

This is designed to be an extension of not only, but adds a new Month class to the ruby object model.

Keep in mind, this is 1.1, and may break things that rely on being a Fixnum. I've tried to fix this by making sure #to_i works as expected, but it may be an issue, handle with care.

Examples: #=> [array of tuesdays for the current month]
	Month.april.first_wednesday #=> Date object corresponding to the first wednesday of april.
	Month.may.every_monday_and_friday #=> {:monday=>[...],:friday=>[...]}
	Month.june(2012).last_monday #=> Date object corresponding to the last monday in june 2012.

	# iterator:
	Month.june(2004).each do |day|
		day.to_day #=> name of day (Saturday, Sunday, etc.)
		day.to_i #=> value between 1 and the last day of the month corresponding.

Check the included documentation (rdoc) or the documentation site
for more info on usage!

Copyright (c) 2009 (Derek Perez |, released under the MIT license

Something went wrong with that request. Please try again.