Module: Railsmith::ArchChecks::ControllerActionMethodExtractor

Defined in:
lib/railsmith/arch_checks/missing_service_usage_checker.rb

Overview

Extracts public instance methods from a controller source line list using indentation.

Class Method Summary collapse

Class Method Details

.extract(lines) ⇒ Array<Hash>

Returns each hash has :name, :start (line), :indent, :body (String lines).

Parameters:

  • lines (Array<String>)

Returns:

  • (Array<Hash>)

    each hash has :name, :start (line), :indent, :body (String lines)



10
11
12
13
14
15
16
17
18
19
# File 'lib/railsmith/arch_checks/missing_service_usage_checker.rb', line 10

def extract(lines)
  methods = []
  state = initial_state

  lines.each_with_index do |raw, idx|
    process_line(raw, idx + 1, state, methods)
  end

  methods
end