class RailsMiniProfiler::Tracing::SequelTracer
Public Instance Methods
trace()
click to toggle source
Calls superclass method
# File lib/rails_mini_profiler/tracing/sequel_tracer.rb, line 6 def trace return NullTrace.new if ignore? payload = @event[:payload].slice(:name, :sql, :binds, :type_casted_binds) typecasted_binds = payload[:type_casted_binds] # Sometimes, typecasted binds are a proc. Not sure why. In those instances, we extract the typecasted # values from the proc by executing call. typecasted_binds = typecasted_binds.call if typecasted_binds.respond_to?(:call) payload[:binds] = transform_binds(payload[:binds], typecasted_binds) payload.delete(:type_casted_binds) payload.reject { |_k, v| v.blank? } @event[:payload] = payload super end
Private Instance Methods
ignore?()
click to toggle source
# File lib/rails_mini_profiler/tracing/sequel_tracer.rb, line 31 def ignore? payload = @event[:payload] !SqlTracker.new(name: payload[:name], query: payload[:sql]).track? end
transform_binds(binds, type_casted_binds)
click to toggle source
# File lib/rails_mini_profiler/tracing/sequel_tracer.rb, line 23 def transform_binds(binds, type_casted_binds) binds.each_with_object([]).with_index do |(binding, object), i| name = binding.name value = type_casted_binds[i] object << { name: name, value: value } end end