module ActiveRedis::Logs::QueryLogger

Public Instance Methods

loggable(*methods) click to toggle source
# File lib/active_redis/logs/query_logger.rb, line 7
      def loggable(*methods)
        str_eval = ""
        methods.each do |method|
          str_eval += <<-CODE

            def #{method}_with_loggable(*args)
              res = nil
              time = Benchmark.realtime do
                res = #{method}_without_loggable(*args)
              end
              ActiveRedis.log.write "  Redis Query (\#{(time*1000).round(2)}ms) => #{method}(\#{args})"
              res
            end

            alias_method_chain :#{method}, :loggable
          CODE
        end
        class_eval(str_eval)
      end