class RailsRoutesAnalyzer::RouteCall
Represents both positive and negative information collected about a specific call that generated Rails routes.
If called in a loop each iteration generates a new record.
Public Class Methods
fields(*names)
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 8 def self.fields(*names) names.each { |name| define_method(name) { self[name] } } end
new(**kwargs)
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 21 def initialize(**kwargs) update(kwargs) end
Public Instance Methods
add_issue(issue)
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 29 def add_issue(issue) issue.route_call = self issues << issue end
full_filename()
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 42 def full_filename @full_filename ||= RailsRoutesAnalyzer.get_full_filename(file_location.sub(/:[0-9]*\z/, '')) end
human_readable_error(**kwargs)
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 54 def human_readable_error(**kwargs) issues.map { |issue| issue.human_readable_error(**kwargs) }.join('; ') end
issue?()
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 34 def issue? issues.any? end
issues()
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 25 def issues self[:issues] ||= [] end
line_number()
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 46 def line_number @line_number ||= file_location[/:([0-9]+)\z/, 1].to_i end
present_actions?()
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 38 def present_actions? present_actions.present? end
suggestion(**kwargs)
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 50 def suggestion(**kwargs) issues.map { |issue| issue.suggestion(**kwargs) }.join('; ') end
try_to_fix_line(line)
click to toggle source
# File lib/rails_routes_analyzer/route_call.rb, line 58 def try_to_fix_line(line) return if issues.size != 1 issues[0].try_to_fix_line(line) end