Class: N1Finder::N1Query
- Inherits:
-
Object
- Object
- N1Finder::N1Query
- Defined in:
- lib/n_1_finder/n_1_query.rb
Overview
N+1 queries representation
Instance Attribute Summary collapse
-
#line ⇒ Object
readonly
Line where queries were executed in application.
-
#original_queries ⇒ Object
readonly
Returns the value of attribute original_queries.
-
#query ⇒ Object
readonly
Query with masked ids.
Class Method Summary collapse
-
.generate_by(queries) ⇒ Array<N1Finder::N1Query>
Generates N1Finder::N1Query from array of N1Finder::Query.
Instance Method Summary collapse
-
#initialize(queries) ⇒ N1Query
constructor
A new instance of N1Finder::N1Query query initialized by similar queries.
Constructor Details
#initialize(queries) ⇒ N1Query
A new instance of N1Finder::N1Query query initialized by similar queries
16 17 18 19 20 |
# File 'lib/n_1_finder/n_1_query.rb', line 16 def initialize(queries) @query = queries.first.footprint[:query] @line = queries.first.footprint[:line] @original_queries = queries.map(&:query) end |
Instance Attribute Details
#line ⇒ Object (readonly)
Line where queries were executed in application
11 |
# File 'lib/n_1_finder/n_1_query.rb', line 11 attr_reader :query, :line, :original_queries |
#original_queries ⇒ Object (readonly)
Returns the value of attribute original_queries.
11 |
# File 'lib/n_1_finder/n_1_query.rb', line 11 attr_reader :query, :line, :original_queries |
#query ⇒ Object (readonly)
Query with masked ids
11 12 13 |
# File 'lib/n_1_finder/n_1_query.rb', line 11 def query @query end |
Class Method Details
.generate_by(queries) ⇒ Array<N1Finder::N1Query>
Generates N1Finder::N1Query from array of N1Finder::Query
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/n_1_finder/n_1_query.rb', line 27 def self.generate_by(queries) grouped_queries = queries.group_by(&:footprint) n1_grouped_queries = grouped_queries.select do |_, similar_queries| similar_queries.count > 1 end n1_grouped_queries.map do |_, similar_queries| new(similar_queries) end end |