Class: RailsRoutesAnalyzer::RouteCall
- Inherits:
-
Hash
- Object
- Hash
- RailsRoutesAnalyzer::RouteCall
- Defined in:
- lib/rails_routes_analyzer/route_call.rb
Overview
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.
Class Method Summary collapse
Instance Method Summary collapse
- #add_issue(issue) ⇒ Object
- #full_filename ⇒ Object
- #human_readable_error(**kwargs) ⇒ Object
-
#initialize(**kwargs) ⇒ RouteCall
constructor
A new instance of RouteCall.
- #issue? ⇒ Boolean
- #issues ⇒ Object
- #line_number ⇒ Object
- #present_actions? ⇒ Boolean
- #suggestion(**kwargs) ⇒ Object
- #try_to_fix_line(line) ⇒ Object
Constructor Details
#initialize(**kwargs) ⇒ RouteCall
Returns a new instance of RouteCall.
21 22 23 |
# File 'lib/rails_routes_analyzer/route_call.rb', line 21 def initialize(**kwargs) update(kwargs) end |
Class Method Details
.fields(*names) ⇒ Object
8 9 10 |
# File 'lib/rails_routes_analyzer/route_call.rb', line 8 def self.fields(*names) names.each { |name| define_method(name) { self[name] } } end |
Instance Method Details
#add_issue(issue) ⇒ Object
29 30 31 32 |
# File 'lib/rails_routes_analyzer/route_call.rb', line 29 def add_issue(issue) issue.route_call = self issues << issue end |
#full_filename ⇒ Object
42 43 44 |
# 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) ⇒ Object
54 55 56 |
# 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? ⇒ Boolean
34 35 36 |
# File 'lib/rails_routes_analyzer/route_call.rb', line 34 def issue? issues.any? end |
#issues ⇒ Object
25 26 27 |
# File 'lib/rails_routes_analyzer/route_call.rb', line 25 def issues self[:issues] ||= [] end |
#line_number ⇒ Object
46 47 48 |
# 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? ⇒ Boolean
38 39 40 |
# File 'lib/rails_routes_analyzer/route_call.rb', line 38 def present_actions? present_actions.present? end |
#suggestion(**kwargs) ⇒ Object
50 51 52 |
# 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) ⇒ Object
58 59 60 61 62 |
# 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 |