class RedisCluster::Middlewares
Middlewares
is collection for RedisCluster
middleware.
Attributes
middlewares[R]
Public Class Methods
new()
click to toggle source
# File lib/redis_cluster/middlewares.rb, line 9 def initialize @middlewares = Hash.new{ |h, k| h[k] = [] } end
Public Instance Methods
invoke(name, *args, &block)
click to toggle source
# File lib/redis_cluster/middlewares.rb, line 19 def invoke(name, *args, &block) callback = middlewares[name].reduce(block) do |acc, obs| proc{ obs.call(*args, &acc) } end callback.call end
register(name, callable = nil, &block)
click to toggle source
# File lib/redis_cluster/middlewares.rb, line 13 def register(name, callable = nil, &block) return if !callable && !block_given? middlewares[name] << (callable || block) end