Class: RailsPulse::Analysis::SuggestionGenerator
- Inherits:
-
Object
- Object
- RailsPulse::Analysis::SuggestionGenerator
- Defined in:
- app/services/rails_pulse/analysis/suggestion_generator.rb
Instance Attribute Summary collapse
-
#analysis_results ⇒ Object
readonly
Returns the value of attribute analysis_results.
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(analysis_results) ⇒ SuggestionGenerator
constructor
A new instance of SuggestionGenerator.
Constructor Details
#initialize(analysis_results) ⇒ SuggestionGenerator
Returns a new instance of SuggestionGenerator.
8 9 10 |
# File 'app/services/rails_pulse/analysis/suggestion_generator.rb', line 8 def initialize(analysis_results) @analysis_results = analysis_results end |
Instance Attribute Details
#analysis_results ⇒ Object (readonly)
Returns the value of attribute analysis_results.
6 7 8 |
# File 'app/services/rails_pulse/analysis/suggestion_generator.rb', line 6 def analysis_results @analysis_results end |
Instance Method Details
#generate ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/services/rails_pulse/analysis/suggestion_generator.rb', line 12 def generate suggestions = [] # Suggestions from pattern issues suggestions.concat(generate_issue_suggestions) # Suggestions from index recommendations suggestions.concat(generate_index_suggestions) # Suggestions from N+1 analysis suggestions.concat(generate_n_plus_one_suggestions) # Suggestions from query characteristics suggestions.concat(generate_query_characteristic_suggestions) # Suggestions from explain plan issues suggestions.concat(generate_explain_plan_suggestions) # Prioritize and deduplicate suggestions prioritize_suggestions(suggestions) end |