Sha256: 2570b09ce2c09b0840cd158a5797b94ac89a917644f1b8ed77c6ea6741acfea7
Contents?: true
Size: 1.51 KB
Versions: 24
Compression:
Stored size: 1.51 KB
Contents
module Eco module API module Common module Loaders class ErrorHandler < Eco::API::Common::BaseLoader class << self attr_writer :error # @return [Eco::API::Error] the error class, child of `Eco::API::Error`. def error(value = nil) unless value return @error || raise("You should specify an error type for #{self.class}") end @error = value end end inheritable_class_vars :error def initialize(handlers) raise "Expected Eco::API::Policies. Given #{handlers.class}" unless handlers.is_a?(Eco::API::Error::Handlers) handlers.on(self.error, &self.method(:main)) end # @param people [Eco::API::Organization::People] the people in the queue of the current `job` # @param session [Eco::API::Session] the current session where the usecase kicks in. # @param options [Hash] the options that modify the case behaviour or bring some dependencies. # @param handler [Eco::API::Error::Hanlder] the `error handler` instance object. # @param job [Eco::API::Session::Batch::Job] the `Batch::Job` made on purpose for this handler. def main(people, session, options, handler, job) raise "You should implement this method" end def error self.class.error end end end end end end
Version data entries
24 entries across 24 versions & 1 rubygems