Class: RailsRoutesAnalyzer::ActionMethod

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

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ ActionMethod

Returns a new instance of ActionMethod.



27
28
29
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 27

def initialize(opts = {})
  update(opts)
end

Instance Method Details

#controller_classObject



31
32
33
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 31

def controller_class
  @controller_class ||= controller_name.constantize
end

#needs_reporting?(report_duplicates:, report_gems:, report_modules:, report_routed:) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 35

def needs_reporting?(report_duplicates:, report_gems:, report_modules:, report_routed:, **)
  (route_missing?     || report_routed)     \
    && (!inherited?   || report_duplicates) \
    && (!from_gem?    || report_gems)       \
    && (!from_module? || report_modules)
end

#pretty(max_action_length: MAX_ACTION_LENGTH, metadata: false) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 42

def pretty(max_action_length: MAX_ACTION_LENGTH, metadata: false, **)
  format("%-#{max_action_length}s @ %s", action_name, source_location).tap do |result|
    if 
      result << " "
      result << 
    end
  end
end

#pretty_metadataObject



51
52
53
54
55
56
57
58
# File 'lib/rails_routes_analyzer/action_analysis.rb', line 51

def 
  [
    route_missing? ? "no-route"                : nil,
    inherited?     ? "inherited:#{owner.name}" : nil,
    from_gem?      ? "gem:#{from_gem}"         : nil,
    from_module?   ? "module:#{owner.name}"    : nil,
  ].compact.join(' ')
end