class ActiveRecord::Relation
Public Instance Methods
analyze(opts = {})
click to toggle source
# File lib/activerecord-analyze/main.rb, line 71 def analyze(opts = {}) res = exec_analyze(collecting_queries_for_explain { exec_queries }, opts) if [:json, :hash, :pretty_json].include?(opts[:format]) start = res.index("[\n") finish = res.rindex("]") raw_json = res.slice(start, finish - start + 1) if opts[:format] == :json JSON.parse(raw_json).to_json elsif opts[:format] == :hash JSON.parse(raw_json) elsif opts[:format] == :pretty_json JSON.pretty_generate(JSON.parse(raw_json)) end else res end end