Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kieranklaassen/laters
Run any instance_method of ActiveRecord models via a job by adding `_later` to it. 👋
https://github.com/kieranklaassen/laters
activerecord concern jobs rails
Last synced: about 1 month ago
JSON representation
Run any instance_method of ActiveRecord models via a job by adding `_later` to it. 👋
- Host: GitHub
- URL: https://github.com/kieranklaassen/laters
- Owner: kieranklaassen
- License: mit
- Created: 2020-08-11T19:41:52.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-08-26T23:54:08.000Z (over 4 years ago)
- Last Synced: 2024-12-30T04:50:02.235Z (about 2 months ago)
- Topics: activerecord, concern, jobs, rails
- Language: Ruby
- Homepage:
- Size: 39.1 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Laters 👋
[![Actions Status](https://github.com/kieranklaassen/laters/workflows/build/badge.svg)](https://github.com/kieranklaassen/laters/actions)
[![Gem Version](https://badge.fury.io/rb/laters.svg)](https://badge.fury.io/rb/laters)Run any instance_method of ActiveRecord models via a job by adding `_later` to it. Laters, means See you later in
Dutch 🇳🇱## Installation
Add to your Gemfile
$ bundle add laters
Or install it yourself as:
$ gem install laters
## Usage
1. Include the `Laters::Concern` in your model
2. Call instance methods with `_later````rb
class User < ApplicationRecord
include Laters::Concernafter_create_commit :notify_user_later
after_commit :refresh_cache_laterprivate
def notify_user
# External services
Sms.send(to: user.phone, message: 'Hey!')
enddef refresh_cache!
# Expensive calculation
end
end
```To set the queue to any other than the `default` set it like this:
```rb
class User < ApplicationRecord
include Laters::Concernrun_in_queue :low
end
```If you need callbacks, they are provided as standart model callbacks:
```rb
class User < ApplicationRecord
include Laters::Concernbefore_laters :do_something
after_laters :do_something_more
around_laters :do_something_around
# Etc..
end
```## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kieranklaassen/laters. This project is
intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the
[code of conduct](https://github.com/kieranklaassen/laters/blob/master/CODE_OF_CONDUCT.md).## 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 Laters project's codebases, issue trackers, chat rooms and mailing lists is expected to
follow the [code of conduct](https://github.com/kieranklaassen/laters/blob/master/CODE_OF_CONDUCT.md).