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).