Module: Apidiesel::Handlers

Included in:
Action, Api
Defined in:
lib/apidiesel/handlers.rb,
lib/apidiesel/handlers/json.rb,
lib/apidiesel/handlers/mock_response.rb,
lib/apidiesel/handlers/http_request_helper.rb,
lib/apidiesel/handlers/action_response_processor.rb

Defined Under Namespace

Modules: ActionResponseProcessor, HttpRequestHelper, JSON, MockResponse

Instance Method Summary collapse

Instance Method Details

#exception_handlersObject



11
12
13
# File 'lib/apidiesel/handlers.rb', line 11

def exception_handlers
  @exception_handlers ||= []
end

#request_handlersObject



3
4
5
# File 'lib/apidiesel/handlers.rb', line 3

def request_handlers
  @request_handlers ||= []
end

#response_handlersObject



7
8
9
# File 'lib/apidiesel/handlers.rb', line 7

def response_handlers
  @response_handlers ||= []
end

#use(klass, *args, &block) ⇒ Object

Registers a handler for requests, responses and/or exceptions

Parameters:

  • klass (Class)


18
19
20
21
22
23
24
25
26
# File 'lib/apidiesel/handlers.rb', line 18

def use(klass, *args, &block)
  request_handler   = "#{klass.name}::RequestHandler".safe_constantize
  response_handler  = "#{klass.name}::ResponseHandler".safe_constantize
  exception_handler = "#{klass.name}::ExceptionHandler".safe_constantize

  request_handlers   << request_handler.new(*args, &block) if request_handler
  response_handlers  << response_handler.new(*args, &block) if response_handler
  exception_handlers << exception_handler.new(*args, &block) if exception_handler
end