class Rester::Service::Middleware::Base

Attributes

app[R]
options[R]

Public Class Methods

new(app, options = {}) click to toggle source
# File lib/rester/service/middleware/base.rb, line 7
def initialize(app, options = {})
  @app = app
  @options = options
end

Public Instance Methods

call(env) click to toggle source
# File lib/rester/service/middleware/base.rb, line 12
def call(env)
  app.call(env)
end
service() click to toggle source
# File lib/rester/service/middleware/base.rb, line 16
def service
  @__service ||= _find_service
end

Private Instance Methods

_error!(klass, message=nil) click to toggle source
# File lib/rester/service/middleware/base.rb, line 39
def _error!(klass, message=nil)
  Errors.throw_error!(klass, message)
end
_find_service() click to toggle source
# File lib/rester/service/middleware/base.rb, line 22
def _find_service
  service = app

  loop {
    break if service.is_a?(Service)

    [:app, :target].each { |meth|
      if service.respond_to?(meth)
        service = service.public_send(meth)
        break
      end
    }
  }

  service.is_a?(Service) && service
end