Module: ActiveRecord::Explain
- Defined in:
- lib/activerecord-analyze/main.rb
Instance Method Summary collapse
Instance Method Details
#exec_analyze(queries, opts = {}) ⇒ Object
:nodoc:
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/activerecord-analyze/main.rb', line 73 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 |