Sha256: e2083ca8fb740c08ed17a9826226fbeaa4f821f406f4037dca9f99e0c9333537

Contents?: true

Size: 552 Bytes

Versions: 3

Compression:

Stored size: 552 Bytes

Contents

module Prisma
  # Gets included into controllers and runs after_filter method
  module Filter
    extend ActiveSupport::Concern

    included do
      after_filter :prisma_disperse_request
    end

    protected

    def prisma_disperse_request
      Prisma.groups.each do |name, group|
        redis_key = Prisma.redis_key(name)
        value = group.block.call(self)
        Prisma.redis.hincrby redis_key, value, 1 if value

        Prisma.redis.expire redis_key, Prisma.redis_expire if Prisma.redis_expiration_duration
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
prisma-0.1.2 lib/prisma/filter.rb
prisma-0.1.1 lib/prisma/filter.rb
prisma-0.1.0 lib/prisma/filter.rb