Interactor Rails provides Rails support for the Interactor gem.
Add this line to your application's Gemfile:
gem "interactor-rails", "~> 1.0"
Interactor Rails is compatible with Ruby 1.9 or 2.0 on Rails 3 or 4.
Interactor Rails ensures that app/interactors
is included in your autoload
paths, and provides generators for your convenience.
rails generate interactor authenticate_user
adds to app/interactors/authenticate_user.rb
:
class AuthenticateUser
include Interactor
def perform
# TODO
end
end
There is also a generator for organizers.
rails generate interactor:organizer place_order charge_card send_thank_you fulfill_order
adds to app/interactors/place_order.rb
:
class PlaceOrder
include Interactor::Organizer
organize ChargeCard, SendThankYou, FulfillOrder
end
Interactor is open source and contributions from the community are encouraged! No contribution is too small. Please consider:
- adding an awesome feature
- fixing a terrible bug
- updating documentation
- fixing a not-so-bad bug
- fixing typos
For the best chance of having your changes merged, please:
- Ask us! We'd love to hear what you're up to.
- Fork the project.
- Commit your changes and tests (if applicable (they're applicable)).
- Submit a pull request with a thorough explanation and at least one animated GIF.
A very special thank you to Attila Domokos for his fantastic work on LightService. Interactor is inspired heavily by the concepts put to code by Attila.