@@ -6,8 +6,17 @@ class QueriesNote < AbstractNote
6
6
@@alert_db_time = 0.16
7
7
@@alert_sql_number = 8
8
8
@@sql = [ ]
9
- cattr_accessor :sql , :alert_db_time , :alert_sql_number , :alert_explain , :instance_writter => false
10
-
9
+ @@include_when_new_relic_installed = false
10
+ @@loaded = false
11
+
12
+ cattr_accessor :sql , :alert_db_time , :alert_sql_number , :alert_explain , :loaded , :instance_writter => false
13
+ cattr_reader :include_when_new_relic_installed
14
+
15
+ def self . include_when_new_relic_installed = ( include_me )
16
+ @@include_when_new_relic_installed = include_me
17
+ load if include_me
18
+ end
19
+
11
20
def self . start! ( controller )
12
21
@@sql = [ ]
13
22
end
@@ -55,7 +64,26 @@ def content
55
64
56
65
return html
57
66
end
67
+
68
+ def self . load
69
+ #only include when NewRelic is installed if configured to do so
70
+ if !loaded and
71
+ defined? ( ActiveRecord ) and
72
+ ( !defined? ( NewRelic ) or
73
+ include_when_new_relic_installed )
74
+ if included?
75
+ ActiveRecord ::ConnectionAdapters ::AbstractAdapter . send :include , Footnotes ::Extensions ::AbstractAdapter
76
+ ActiveRecord ::ConnectionAdapters . local_constants . each do |adapter |
77
+ next unless adapter =~ /.*[^Abstract]Adapter$/
78
+ next if adapter =~ /SQLiteAdapter$/
79
+ eval ( "ActiveRecord::ConnectionAdapters::#{ adapter } " ) . send :include , Footnotes ::Extensions ::QueryAnalyzer
80
+ end
81
+ loaded = true
82
+ end
83
+ end
58
84
85
+ end
86
+
59
87
protected
60
88
def parse_explain ( results )
61
89
table = [ ]
@@ -161,14 +189,5 @@ def log_silence
161
189
162
190
end
163
191
end
164
- #no need to run queries note if New Relic is installed
165
- if defined? ( ActiveRecord ) && !defined? ( NewRelic )
166
- if Footnotes ::Notes ::QueriesNote . included?
167
- ActiveRecord ::ConnectionAdapters ::AbstractAdapter . send :include , Footnotes ::Extensions ::AbstractAdapter
168
- ActiveRecord ::ConnectionAdapters . local_constants . each do |adapter |
169
- next unless adapter =~ /.*[^Abstract]Adapter$/
170
- next if adapter =~ /SQLiteAdapter$/
171
- eval ( "ActiveRecord::ConnectionAdapters::#{ adapter } " ) . send :include , Footnotes ::Extensions ::QueryAnalyzer
172
- end
173
- end
174
- end
192
+
193
+ Footnotes ::Notes ::QueriesNote . load
0 commit comments