ActiveWeek
ActiveSupport based Object Oriented API represents week
Installation
Add this line to your application's Gemfile:
gem 'activeweek'
And then execute:
$ bundle
Usage
Get current week
require 'activeweek'
week = ActiveWeek::Week.current
Get currenet week in specific timezone
week = Time.use_zone('Asia/Tokyo') { ActiveWeek::Week.current }
Enumerate Date objects in the week
week.each_day { |date| p date }
Traverse weeks
next_week = week.next_week
prev_week = week.prev_week
Compare weeks
ActiveWeek::Week.new(2017, 1) == ActiveWeek::Week.new(2017, 1)
# => true
ActiveWeek::Week.new(2017, 2) < ActiveWeek::Week.new(2017, 1)
# => false
Development
After checking out the repo, run bin/setup
to install dependencies. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Notice about Ruby 2.4/Rails 2.2
Currently this gem cannot work with Ruby 2.4 and Rails 2.2.
It'll be available after Rails 4.2.8 is released.
See: rails/rails#26334
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/yuya-takeyama/activeweek.
License
The gem is available as open source under the terms of the MIT License.