module RailsRoutesAnalyzer

Constants

MAX_ACTION_LENGTH
MULTI_METHODS
RESOURCE_ACTIONS
ROUTE_METHODS
SINGLE_METHODS
VERSION

Public Class Methods

get_full_filename(filename) click to toggle source

Converts Rails.root-relative filenames to be absolute.

# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 11
def get_full_filename(filename)
  return filename.to_s if filename.to_s.starts_with?('/')
  Rails.root.join(filename).to_s
end
routes_actions_list_all(env, extras) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 55
def routes_actions_list_all(env, extras)
  routes_actions_common(env, extras, report_routed: true)
end
routes_actions_missing_route(env, extras) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 51
def routes_actions_missing_route(env, extras)
  routes_actions_common(env, extras, report_routed: false)
end
routes_dead(env) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 28
def routes_dead(env)
  params   = RailsRoutesAnalyzer::ParameterHandler.params_for_route_analysis(env)
  analysis = RailsRoutesAnalyzer::RouteAnalysis.new(params)

  analysis.print_report
end
routes_dead_annotate(env) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 35
def routes_dead_annotate(env)
  routes_dead_annotate_common(env)
end
routes_dead_annotate_inplace(env, extras) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 39
def routes_dead_annotate_inplace(env, extras)
  routes_dead_annotate_common(env, extras, inplace: true)
end
routes_dead_fix(env) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 43
def routes_dead_fix(env)
  routes_dead_fix_common(env)
end
routes_dead_fix_inplace(env, extras) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 47
def routes_dead_fix_inplace(env, extras)
  routes_dead_fix_common(env, extras, inplace: true)
end
sanitize_source_location(source_location, full_path: false) click to toggle source

Shortens full file path, replacing Rails.root and gem path with appropriate short prefixes to make the file names look good.

# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 18
def sanitize_source_location(source_location, full_path: false)
  source_location.dup.tap do |clean_location|
    unless full_path
      clean_location.gsub! "#{Rails.root}/", './'

      clean_location.replace GemManager.clean_gem_path(clean_location)
    end
  end
end

Protected Class Methods

routes_actions_common(env, extras, **opts) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 78
def routes_actions_common(env, extras, **opts)
  params = RailsRoutesAnalyzer::ParameterHandler.params_for_action_analysis(env, extras)
  analysis = RailsRoutesAnalyzer::ActionAnalysis.new(params.merge(opts))
  analysis.print_report
end
routes_dead_annotate_common(env, extras = [], **opts) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 68
def routes_dead_annotate_common(env, extras = [], **opts)
  params = RailsRoutesAnalyzer::ParameterHandler.params_for_annotate(env, extras)
  routes_dead_common(env, params, **opts)
end
routes_dead_common(env, params, **opts) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 61
def routes_dead_common(env, params, **opts)
  annotator   = RailsRoutesAnalyzer::RouteFileAnnotator.new(params)
  routes_file = RailsRoutesAnalyzer::ParameterHandler.file_to_annotate(env)

  annotator.annotate_routes_file(routes_file, **opts)
end
routes_dead_fix_common(env, extras = [], **opts) click to toggle source
# File lib/rails_routes_analyzer/rails_routes_analyzer.rb, line 73
def routes_dead_fix_common(env, extras = [], **opts)
  params = RailsRoutesAnalyzer::ParameterHandler.params_for_fix(env, extras)
  routes_dead_common(env, params, **opts)
end