module Composable::Core::Command
Attributes
result[R]
Public Class Methods
prepended(base)
click to toggle source
# File lib/composable/core/command.rb, line 20 def self.prepended(base) base.extend ClassMethods base.include ActiveModel::Validations base.include ActiveSupport::Rescuable end
Public Instance Methods
call(raise_exception: false)
click to toggle source
Calls superclass method
# File lib/composable/core/command.rb, line 27 def call(raise_exception: false) fail NotImplementedError unless defined?(super) @called = true @result = super() raise Error, errors.full_messages.to_sentence if raise_exception && failure? self rescue Exception => exception raise if raise_exception || !rescue_with_handler(exception) self end
failure?()
click to toggle source
# File lib/composable/core/command.rb, line 46 def failure? called? && errors.any? end
success?()
click to toggle source
# File lib/composable/core/command.rb, line 42 def success? called? && !failure? end
Private Instance Methods
called?()
click to toggle source
# File lib/composable/core/command.rb, line 52 def called? @called ||= false end