Module: Operatic
- Defined in:
- lib/operatic.rb,
lib/operatic/errors.rb,
lib/operatic/result.rb,
lib/operatic/version.rb
Defined Under Namespace
Modules: ClassMethods Classes: Result
Constant Summary collapse
- OperaticError =
Class.new(StandardError)
- FailureError =
Class.new(OperaticError)
- VERSION =
'0.6.0'
Instance Method Summary collapse
-
#call ⇒ Object
Override this method with your implementation.
-
#failure!(**data) ⇒ Object
Convenience shortcut to the operation's Result#failure!.
- #initialize(**attrs) ⇒ Object
-
#result ⇒ Result
An instance of Result or a subclass generated by ClassMethods#result_attr.
-
#success!(**data) ⇒ Object
Convenience shortcut to the operation's Result#success!.
Instance Method Details
#call ⇒ Object
Override this method with your implementation. Use #success! or #failure! methods to communicate the #result's status and to attach data to it. Define convenience result accessors with Operatic::ClassMethods#result_attr.
103 104 |
# File 'lib/operatic.rb', line 103 def call end |
#failure!(**data) ⇒ Object
Convenience shortcut to the operation's Operatic::Result#failure!.
107 108 109 |
# File 'lib/operatic.rb', line 107 def failure!(**data) result.failure!(**data) end |
#initialize(**attrs) ⇒ Object
67 68 69 70 71 |
# File 'lib/operatic.rb', line 67 def initialize(**attrs) attrs.each do |key, value| instance_variable_set("@#{key}", value) end end |
#result ⇒ Result
An instance of Result or a subclass generated by Operatic::ClassMethods#result_attr.
115 116 117 |
# File 'lib/operatic.rb', line 115 def result @result ||= self.class.result_class.new end |
#success!(**data) ⇒ Object
Convenience shortcut to the operation's Operatic::Result#success!.
120 121 122 |
# File 'lib/operatic.rb', line 120 def success!(**data) result.success!(**data) end |