Sha256: d2bcd03219631c7eac983f53096907733eda32b7c924369d196fc6267f48e096
Contents?: true
Size: 1.52 KB
Versions: 23
Compression:
Stored size: 1.52 KB
Contents
# frozen_string_literal: true # mongo_mapper patches # TODO: Include overrides for distinct, update, cursor, and create class Plucky::Query alias_method :find_each_without_profiling, :find_each alias_method :find_one_without_profiling, :find_one alias_method :count_without_profiling, :count alias_method :remove_without_profiling, :remove def find_each(*args, &blk) profile_database_operation(__callee__, filtered_inspect(), *args, &blk) end def find_one(*args, &blk) profile_database_operation(__callee__, filtered_inspect(args[0]), *args, &blk) end def count(*args, &blk) profile_database_operation(__callee__, filtered_inspect(), *args, &blk) end def remove(*args, &blk) profile_database_operation(__callee__, filtered_inspect(), *args, &blk) end private def profile_database_operation(method, message, *args, &blk) return self.send("#{method.id2name}_without_profiling", *args, &blk) unless SqlPatches.should_measure? start = Process.clock_gettime(Process::CLOCK_MONOTONIC) result = self.send("#{method.id2name}_without_profiling", *args, &blk) elapsed_time = SqlPatches.elapsed_time(start) query_message = "#{@collection.name}.#{method.id2name} => #{message}" ::Rack::MiniProfiler.record_sql(query_message, elapsed_time) result end def filtered_inspect(hash = to_hash()) hash_string = hash.reject { |key| key == :transformer }.collect do |key, value| " #{key}: #{value.inspect}" end.join(",\n") "{\n#{hash_string}\n}" end end
Version data entries
23 entries across 23 versions & 1 rubygems