module Acfs::Service::Middleware::ClassMethods

Public Instance Methods

middleware() click to toggle source

@api private

Return top most middleware.

@return [#call]

# File lib/acfs/service/middleware.rb, line 49
def middleware
  @middleware ||= Stack.new
end
use(klass, *args, &block) click to toggle source

@!method use(klass, *args, &block)

@api public

Register a new middleware to be used for this service.

@example
  class MyService < Acfs::Service
    self.base_url = 'http://my.srv'
    use Acfs::Middleware::JSON
  end

@param [Class] klass Middleware class to append
@param [Array<Object>] args Arguments passed to klass initialize
@param [Proc] block Block passed to klass initialize
@return [undefined]
# File lib/acfs/service/middleware.rb, line 38
def use(klass, *args, &block)
  # Backward compatible behavior
  middleware.insert(0, klass, *args, &block)
end