Module: QueryReviewer::ControllerExtensions
- Defined in:
- lib/query_reviewer/controller_extensions.rb
Defined Under Namespace
Classes: QueryViewBase
Class Method Summary collapse
Instance Method Summary collapse
- #add_query_output_to_view(total_time) ⇒ Object
- #perform_action_with_query_review ⇒ Object
-
#process_with_query_review(request, response, method = :perform_action, *arguments) ⇒ Object
:nodoc:.
- #query_review_output(ajax = false, total_time = nil) ⇒ Object
Class Method Details
.included(base) ⇒ Object
9 10 11 12 13 |
# File 'lib/query_reviewer/controller_extensions.rb', line 9 def self.included(base) base.alias_method_chain :perform_action, :query_review if QueryReviewer::CONFIGURATION["inject_view"] base.alias_method_chain :process, :query_review base.helper_method :query_review_output end |
Instance Method Details
#add_query_output_to_view(total_time) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/query_reviewer/controller_extensions.rb', line 28 def add_query_output_to_view(total_time) if request.xhr? if ["query_review_enabled"] if !response.content_type || response.content_type.include?("text/html") response.body += "<script type=\"text/javascript\">"+query_review_output(true, total_time)+"</script>" elsif response.content_type && response.content_type.include?("text/javascript") response.body += ";\n"+query_review_output(true, total_time) end end else if response.body.is_a?(String) && response.body.match(/<\/body>/i) && Thread.current["queries"] idx = (response.body =~ /<\/body>/i) html = query_review_output(false, total_time) response.body.insert(idx, html) end end end |
#perform_action_with_query_review ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/query_reviewer/controller_extensions.rb', line 46 def perform_action_with_query_review Thread.current["query_reviewer_enabled"] = ["query_review_enabled"] t1 = Time.now r = perform_action_without_query_review t2 = Time.now add_query_output_to_view(t2 - t1) r end |
#process_with_query_review(request, response, method = :perform_action, *arguments) ⇒ Object
:nodoc:
55 56 57 58 |
# File 'lib/query_reviewer/controller_extensions.rb', line 55 def process_with_query_review(request, response, method = :perform_action, *arguments) #:nodoc: Thread.current["queries"] = SqlQueryCollection.new process_without_query_review(request, response, method, *arguments) end |
#query_review_output(ajax = false, total_time = nil) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/query_reviewer/controller_extensions.rb', line 15 def query_review_output(ajax = false, total_time = nil) faux_view = QueryViewBase.new([File.join(File.dirname(__FILE__), "views")], {}, self) queries = Thread.current["queries"] queries.analyze! faux_view.instance_variable_set("@queries", queries) faux_view.instance_variable_set("@total_time", total_time) if ajax js = faux_view.render(:partial => "/box_ajax.js") else html = faux_view.render(:partial => "/box") end end |