Module: ActiveRecord::Explain
- Defined in:
- lib/activerecord-analyze/main.rb
Instance Method Summary collapse
Instance Method Details
#exec_analyze(queries, opts = {}) ⇒ Object
:nodoc:
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/activerecord-analyze/main.rb', line 92 def exec_analyze(queries, opts = {}) # :nodoc: str = queries.map do |sql, binds| analyze_msg = if opts[:analyze] == false "" else " ANALYZE" end msg = "EXPLAIN#{analyze_msg} for: #{sql}".dup unless binds.empty? msg << " " msg << binds.map { |attr| render_bind(attr) }.inspect end msg << "\n" msg << connection.analyze(sql, binds, opts) end.join("\n") # Overriding inspect to be more human readable, especially in the console. def str.inspect self end str end |