Sha256: 5ce4cf2192146fdda28c2a57c6ce49b647208ce3c4193c1680e770fff4c1623d
Contents?: true
Size: 1018 Bytes
Versions: 1
Compression:
Stored size: 1018 Bytes
Contents
require "rack/bug/panel" require "rack/bug/panels/active_record_panel/activerecord_extensions" module Rack module Bug class ActiveRecordPanel < Panel def self.record(class_name) return unless Rack::Bug.enabled? records[class_name] += 1 end def self.reset Thread.current["rack.bug.active_records"] = Hash.new { 0 } end def self.records Thread.current["rack.bug.active_records"] ||= Hash.new { 0 } end def self.total records.inject(0) do |memo, (key, value)| memo + value end end def name "active_record" end def heading "#{self.class.total} AR Objects" end def content records = self.class.records.to_a.sort_by { |key, value| value }.reverse result = render_template "panels/active_record", :records => records self.class.reset result end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
perfectline-rack-bug-0.1.1 | lib/rack/bug/panels/active_record_panel.rb |