class Toys::Middleware::Spec


Use {Toys::Middleware.spec} to create a middleware spec.
arguments to pass to the constructor.
A middleware specification, including the middleware class and the
#

def ==(other)

# @private
def ==(other)
  other.is_a?(Spec) &&
    object.eql?(other.object) &&
    name.eql?(other.name) &&
    args.eql?(other.args) &&
    kwargs.eql?(other.kwargs) &&
    block.eql?(other.block)
end

def build(lookup)

Returns:
  • (Toys::Middleware) - The middleware

Parameters:
  • lookup (Toys::ModuleLookup) -- A module lookup to resolve
def build(lookup)
  return @object unless @object.nil?
  if @name.is_a?(::String) || @name.is_a?(::Symbol)
    klass = lookup&.lookup(@name)
    raise ::NameError, "Unknown middleware name #{@name.inspect}" if klass.nil?
  else
    klass = @name
  end
  Compat.instantiate(klass, @args, @kwargs, @block)
end

def hash

# @private
def hash
  [object, name, args, kwargs, block].hash
end

def initialize(object, name, args, kwargs, block)

# @private
def initialize(object, name, args, kwargs, block)
  @object = object
  @name = name
  @args = args
  @kwargs = kwargs
  @block = block
end