Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

TimeRange

Time ranges for Ruby

Installation

Add this line to your application’s Gemfile:

gem 'timerange'

Features

time_range = TimeRange.new(7.days.ago..Time.now)
time_range.step(1.day)
time_range.expand(:week).step(1.day)

TimeRange.new("2014-06-01", "2014-06-07")
TimeRange.new("2014-06-01", duration: 1.week)
TimeRange.new("2014-06-01", within: 5.minutes)
TimeRange.new(4.weeks.ago).expand_start(:week) # last 4 weeks

TimeRange.today
TimeRange.yesterday

TimeRange.today + 4.weeks
TimeRange.today - 4.weeks

TimeRange.bucket(:hour, user.created_at)
TimeRange.bucket(:day, user.created_at, day_start: 2) # 2 am
TimeRange.bucket(:week, user.created_at, week_start: :mon) # start weeks on Monday
TimeRange.bucket(:month, user.created_at, time_zone: "Pacific Time (US & Canada)")

TimeRange.time_zone = "Pacific Time (US & Canada)" # defaults to Time.zone

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

About

Time ranges for Ruby

Resources

License

Packages

No packages published

Languages