Class: RailsRoutesAnalyzer::ActionAnalysis

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_routes_analyzer/action_analysis.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(route_analysis: RailsRoutesAnalyzer::RouteAnalysis.new, report_routed: false, report_duplicates: false, report_gems: false, report_modules: false, full_path: false, metadata: false) ⇒ ActionAnalysis

Options:

report_duplicates - report actions which the parent controller also has
report_gems       - report actions which are implemented by a gem
report_modules    - report actions inherited from modules
report_routed     - report all actions including those with a route
full_path         - skips shortening file paths
metadata          - include discovered metadata about actions


77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 77

def initialize(route_analysis: RailsRoutesAnalyzer::RouteAnalysis.new,
               report_routed:     false,
               report_duplicates: false,
               report_gems:       false,
               report_modules:    false,
               full_path:         false,
               metadata:          false)

  @options = {
    report_routed:     report_routed,
    report_duplicates: report_duplicates,
    report_gems:       report_gems,
    report_modules:    report_modules,
    full_path:         full_path,
    metadata:          ,
  }

  @all_action_methods = analyze_action_methods(route_analysis: route_analysis)

  @by_controller = @all_action_methods.group_by(&:controller_class)
  @unused_controllers = find_unused_controllers
end

Instance Attribute Details

#all_action_methodsObject (readonly)

Returns the value of attribute all_action_methods.



68
69
70
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 68

def all_action_methods
  @all_action_methods
end

#optionsObject (readonly)

Returns the value of attribute options.



68
69
70
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 68

def options
  @options
end

#unused_controllersObject (readonly)

Returns the value of attribute unused_controllers.



68
69
70
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 68

def unused_controllers
  @unused_controllers
end

Instance Method Details



105
106
107
108
109
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 105

def print_actions_report
  @controller_reporting_cache = {}

  report_actions_recursive
end


100
101
102
103
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 100

def print_report
  print_missing_routes_report_preamble unless options[:report_routed]
  print_actions_report
end