module ActiveRecordQueryTrace
Experimental RBS support (using type sampling data from the type_fusion
project).
# sig/active_record_query_trace.rbs module ActiveRecordQueryTrace def rails_root_regexp: () -> untyped end
def backtrace_cleaner=(cleaner)
def backtrace_cleaner=(cleaner) @backtrace_cleaner = if cleaner.is_a?(Proc) cleaner else proc { |trace| cleaner.clean(trace) } end end
def default_cleaner
def default_cleaner @default_cleaner ||= setup_backtrace_cleaner end
def level=(level)
def level=(level) @level = level @default_cleaner = nil end
def rails_root_regexp
Experimental RBS support (using type sampling data from the type_fusion
project).
def rails_root_regexp: () -> untyped
This signature was generated using 26 samples from 1 application.
This cannot be set in a constant as Rails.root is not yet available when
def rails_root_regexp @rails_root_regexp ||= %r{#{Regexp.escape(Rails.root.to_s)}(?!/vendor)} end
def remove_filters_and_silencers(cleaner)
def remove_filters_and_silencers(cleaner) cleaner.remove_filters! cleaner.remove_silencers! end
def setup_backtrace_cleaner
The following code creates a brand new BacktraceCleaner just for the use of this Gem
def setup_backtrace_cleaner cleaner = Rails::BacktraceCleaner.new remove_filters_and_silencers cleaner cleaner.instance_variable_set :@root, Rails.root.to_s if cleaner.instance_variable_get(:@root) == '/' case ActiveRecordQueryTrace.level when :app cleaner.add_silencer { |line| line !~ rails_root_regexp } when :rails cleaner.add_silencer { |line| line =~ rails_root_regexp } end cleaner end