class RailsRoutesAnalyzer::RouteIssue::Base

Public Class Methods

fields(*names) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 7
def self.fields(*names)
  names.each do |name|
    define_method(name) { self[name] }
    define_method("#{name}=") { |val| self[name] = val }
  end
end
new(opts = {}) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 26
def initialize(opts = {})
  update(opts)
end

Public Instance Methods

append_verbose_message(message) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 45
def append_verbose_message(message)
  verbose = verbose_message
  message << "| #{verbose}" if verbose.present?
end
format_actions(actions) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 54
def format_actions(actions)
  case actions.size
  when 0
    nil
  when 1
    ":#{actions.first}"
  else
    list = actions.map { |action| ":#{action}" }.sort.join(', ')
    "[#{list}]"
  end
end
human_readable_error(verbose: false) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 30
def human_readable_error(verbose: false)
  human_readable_error_message.tap do |message|
    append_verbose_message(message) if verbose
  end
end
suggestion(verbose: false, **kwargs) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 39
def suggestion(verbose: false, **kwargs)
  error_suggestion(**kwargs).tap do |message|
    append_verbose_message(message) if verbose
  end
end
try_to_fix_line(_line) click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 50
def try_to_fix_line(_line)
  raise NotImplementedError, 'should be provided by subclasses'
end
verbose_message() click to toggle source
# File lib/rails_routes_analyzer/route_issue/base.rb, line 36
def verbose_message
end