Module: Interactor::ClassMethods
- Defined in:
- lib/interactor.rb
Overview
Internal: Interactor class methods.
Instance Method Summary collapse
-
#call(context = {}) ⇒ Object
Public: Invoke an Interactor.
-
#call!(context = {}) ⇒ Object
Public: Invoke an Interactor.
Instance Method Details
#call(context = {}) ⇒ Object
Public: Invoke an Interactor. This is the primary public API method to an interactor.
context - A Hash whose key/value pairs are used in initializing a new
Interactor::Context object. An existing Interactor::Context may
also be given. (default: {})
Examples
MyInteractor.call(foo: "bar")
# => #<Interactor::Context foo="bar">
MyInteractor.call
# => #<Interactor::Context>
Returns the resulting Interactor::Context after manipulation by the
interactor.
49 50 51 |
# File 'lib/interactor.rb', line 49 def call(context = {}) new(context).tap(&:run).context end |
#call!(context = {}) ⇒ Object
Public: Invoke an Interactor. The “call!” method behaves identically to the “call” method with one notable exception. If the context is failed during invocation of the interactor, the Interactor::Failure is raised.
context - A Hash whose key/value pairs are used in initializing a new
Interactor::Context object. An existing Interactor::Context may
also be given. (default: {})
Examples
MyInteractor.call!(foo: "bar")
# => #<Interactor::Context foo="bar">
MyInteractor.call!
# => #<Interactor::Context>
MyInteractor.call!(foo: "baz")
# => Interactor::Failure: #<Interactor::Context foo="baz">
Returns the resulting Interactor::Context after manipulation by the
interactor.
Raises Interactor::Failure if the context is failed.
75 76 77 |
# File 'lib/interactor.rb', line 75 def call!(context = {}) new(context).tap(&:run!).context end |