rails--rails/activerecord/lib/active_record/explain_registry.rb

31 lines
616 B
Ruby

require 'active_support/per_thread_registry'
module ActiveRecord
# This is a thread locals registry for EXPLAIN. For example
#
# ActiveRecord::ExplainRegistry.queries
#
# returns the collected queries local to the current thread.
#
# See the documentation of <tt>ActiveSupport::PerThreadRegistry</tt>
# for further details.
class ExplainRegistry # :nodoc:
extend ActiveSupport::PerThreadRegistry
attr_accessor :queries, :collect
def initialize
reset
end
def collect?
@collect
end
def reset
@collect = false
@queries = []
end
end
end