class ArQueryMatchers::Queries::QueryCounter::QueryStats
Attributes
queries[R]
Public Class Methods
new(queries)
click to toggle source
# File lib/ar_query_matchers/queries/query_counter.rb, line 36 def initialize(queries) @queries = queries end
Public Instance Methods
query_counts()
click to toggle source
@return [Hash] of model name to query count, for example: { 'Company' => 5}
# File lib/ar_query_matchers/queries/query_counter.rb, line 43 def query_counts Hash[*queries.reduce({}) { |acc, (model_name, data)| acc.update model_name => data[:count] }.sort_by(&:first).flatten] end
query_lines_by_frequency()
click to toggle source
@return [Hash] of line in the source code to its frequency
# File lib/ar_query_matchers/queries/query_counter.rb, line 48 def query_lines_by_frequency queries.reduce({}) do |lines, (model_name, data)| frequencies = data[:lines].reduce(Hash.new { |h, k| h[k] = 0 }) do |freq, line| freq.update line => freq[line] + 1 end lines.update model_name => frequencies end end