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

Version Path
eco-helpers-2.0.25 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.24 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.23 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.22 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.21 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.19 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.18 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.17 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.16 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.15 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.14 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.13 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.12 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.11 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.10 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.9 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.8 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.7 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.6 lib/eco/api/common/loaders/error_handler.rb
eco-helpers-2.0.5 lib/eco/api/common/loaders/error_handler.rb