README.md in repeatable-1.0.0 vs README.md in repeatable-1.1.0

- old
+ new

@@ -1,8 +1,8 @@ # Repeatable -[![Build Status](https://travis-ci.org/molawson/repeatable.svg?branch=main)](https://travis-ci.org/molawson/repeatable) +[![CI](https://github.com/molawson/repeatable/actions/workflows/ci.yml/badge.svg)](https://github.com/molawson/repeatable/actions/workflows/ci.yml) [![Maintainability](https://api.codeclimate.com/v1/badges/73707efd5eeffd364c0d/maintainability)](https://codeclimate.com/github/molawson/repeatable/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/73707efd5eeffd364c0d/test_coverage)](https://codeclimate.com/github/molawson/repeatable/test_coverage) Ruby implementation of Martin Fowler's [Recurring Events for Calendars](http://martinfowler.com/apsupp/recurring.pdf) paper. @@ -20,14 +20,10 @@ Or install it yourself as: $ gem install repeatable -## Requirements - -Because this gem relies heavily on required keyword arguments, especially to make dumping and parsing of schedules simpler, this code will only work on **Ruby 2.2** and higher. - ## Usage ### Building a Schedule You can create a schedule in one of two ways. @@ -96,12 +92,12 @@ # The last Thursday of every month { weekday_in_month: { weekday: 4, count: -1 } } Repeatable::Expression::WeekdayInMonth.new(weekday: 4, count: -1) # Every other Monday, starting from December 1, 2015 -{ biweekly: { weekday: 1, start_date: '2015-12-01' } } -Repeatable::Expression::Biweekly.new(weekday: 1, start_date: Date.new(2015, 12, 1)) +{ biweekly: { weekday: 1, start_after: '2015-12-01' } } +Repeatable::Expression::Biweekly.new(weekday: 1, start_after: Date.new(2015, 12, 1)) # The 13th of every month { day_in_month: { day: 13 } } Repeatable::Expression::DayInMonth.new(day: 13) @@ -184,18 +180,41 @@ Repeatable::Schedule.new(union) == Repeatable::Schedule.new(another_union) # => true (their expressions are equivalent, so they'll produce the same results) ``` +## Ruby version support + +Currently tested and supported: +- 2.6 +- 2.7 +- 3.0 +- 3.1 + +Deprecated (currently tested but has reached EOL and will be unsupported in the next major version): +- 2.5 + +The supported versions will roughly track with versions that are currently maintained by the Ruby core team. + ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, 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` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). +You can run the tests with `bundle exec rake`. ## Contributing +Bug reports and pull requests are welcome on GitHub at https://github.com/molawson/repeatable. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. + 1. Fork it ( https://github.com/molawson/repeatable/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request + +## License + +The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). + +## Code of Conduct + +Everyone interacting in the Repeatable project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/molawson/repeatable/blob/main/CODE_OF_CONDUCT.md).