A Ruby library that converts cron expressions into human readable strings. Translated to Ruby from cron-expression-descriptor (C#) via cron-parser (Java).
Original Author & Credit: Brady Holt (http://www.geekytidbits.com).
- Supports all cron expression special characters including:
*
/
,
-
?
L
W
#
- Supports 5, 6 (w/ seconds or year), or 7 (w/ seconds and year) part cron expressions
- Provides casing options (sentence, title, lower)
- Support for non-standard non-zero-based week day numbers
- Supports printing to locale specific human readable format
- Supports displaying times in specific timezones
For a quick intro to cron see Quartz Cron Tutorial.
- English
- Brazilian
- French
- German
- Italian
- Romanian
- Russian
Add this line to your application's Gemfile:
gem 'cronex'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install cronex
Cronex::ExpressionDescriptor.new('*/5 15 * * 1-5').description
=> Every 5 minutes, at 3:00 PM, Monday through Friday
Cronex::ExpressionDescriptor.new('0 0/30 8-9 5,20 * ?').description
=> Every 30 minutes, between 8:00 AM and 9:59 AM, on day 5 and 20 of the month
Cronex::ExpressionDescriptor.new('*/5 15 * * 1-5', zero_based_dow: false).description
=> Every 5 minutes, at 3:00 PM, Sunday through Thursday
Cronex::ExpressionDescriptor.new('30 2 * 2 1-5', {}, 'fr').description
=> À 2:30 AM, lundi à vendredi, seulement en février
Cronex::ExpressionDescriptor.new('0-10 11 * * *', {}, 'en', 'America/Los_Angeles').description
=> Every minute between 4:00 AM and 4:10 AM # PDT or
=> Every minute between 3:00 AM and 3:10 AM # PST
See spec tests for more examples.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request