Module: ActiveRecord::Explain
- Defined in:
- lib/activerecord-analyze/main.rb
Instance Method Summary collapse
Instance Method Details
#exec_analyze(queries, opts = {}) ⇒ Object
:nodoc:
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/activerecord-analyze/main.rb', line 41 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 |