module Excom::Plugins::Status
Public Class Methods
used(service_class, success:, failure:)
click to toggle source
# File lib/excom/plugins/status.rb, line 6 def self.used(service_class, success:, failure:) service_class.add_execution_prop(:status) helpers = Module.new do success.each do |name| define_method(name) do |result = nil| success(name) { result } end end failure.each do |name| define_method(name) do |result = nil| failure(name) { result } end end end service_class.const_set('StatusHelpers', helpers) service_class.send(:include, helpers) end
Public Instance Methods
status()
click to toggle source
# File lib/excom/plugins/status.rb, line 27 def status state.status end
Private Instance Methods
failure(status = :failure, &block)
click to toggle source
Calls superclass method
# File lib/excom/plugins/status.rb, line 46 def failure(status = :failure, &block) super(&block).tap do state.status = status end end
failure!(status = :failure)
click to toggle source
Calls superclass method
# File lib/excom/plugins/status.rb, line 41 def failure!(status = :failure) state.status = status super() end
result_with(*)
click to toggle source
Calls superclass method
# File lib/excom/plugins/status.rb, line 52 def result_with(*) super state.status ||= state.success ? :success : :failure end
success(status = :success, &block)
click to toggle source
Calls superclass method
# File lib/excom/plugins/status.rb, line 36 def success(status = :success, &block) state.status = status super(&block) end
success!(status = :success)
click to toggle source
Calls superclass method
# File lib/excom/plugins/status.rb, line 31 def success!(status = :success) state.status = status super() end