module Zen::Service::Plugins::Status
Public Class Methods
configure(service_class, success:, failure:)
click to toggle source
# File lib/zen/service/plugins/status.rb, line 18 def self.configure(service_class, success:, failure:) service_class::StatusHelpers.module_eval do success.each do |name| define_method(name) do |**opts, &block| success(status: name, **opts, &block) end end failure.each do |name| define_method(name) do |**opts, &block| failure(status: name, **opts, &block) end end end end
used(service_class, **)
click to toggle source
# File lib/zen/service/plugins/status.rb, line 10 def self.used(service_class, **) service_class.add_execution_prop(:status) helpers = Module.new service_class.const_set(:StatusHelpers, helpers) service_class.send(:include, helpers) end
Public Instance Methods
status()
click to toggle source
# File lib/zen/service/plugins/status.rb, line 34 def status state.status end
Private Instance Methods
failure(status: :failure, **)
click to toggle source
Calls superclass method
# File lib/zen/service/plugins/status.rb, line 53 def failure(status: :failure, **) super.tap do state.status = status end end
failure!(status: :failure, **)
click to toggle source
Calls superclass method
# File lib/zen/service/plugins/status.rb, line 48 def failure!(status: :failure, **) state.status = status super end
result_with(*)
click to toggle source
Calls superclass method
# File lib/zen/service/plugins/status.rb, line 59 def result_with(*) super state.status ||= state.success ? :success : :failure end
success(status: :success, **)
click to toggle source
Calls superclass method
# File lib/zen/service/plugins/status.rb, line 43 def success(status: :success, **) state.status = status super end
success!(status: :success, **)
click to toggle source
Calls superclass method
# File lib/zen/service/plugins/status.rb, line 38 def success!(status: :success, **) state.status = status super end