module Prisma::Filter
Gets included into controllers and runs after_filter method
Protected Instance Methods
prisma_disperse_request()
click to toggle source
# File lib/prisma/filter.rb, line 12 def prisma_disperse_request Prisma.groups.each do |name, group| redis_key = Prisma.redis_key(name) value = group.block.call(self) case group.type when :bitmap next if value.to_i == 0 setbit_key = Redis::Namespace::COMMANDS.include?('setbit') ? redis_key : "#{Prisma.redis_namespace}:#{redis_key}" Prisma.redis.setbit setbit_key, value.to_i, 1 when :counter next unless value Prisma.redis.incr redis_key end Prisma.redis.expire redis_key, Prisma.redis_expire if Prisma.redis_expiration_duration end rescue => e Prisma.logger.error "Prisma experienced an exception: #{e.to_s}" Prisma.logger.error e.backtrace.join("\n") end