Class: Qaxpert::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/qaxpert/parser.rb

Class Method Summary collapse

Class Method Details

.extract_context(code) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/qaxpert/parser.rb', line 10

def self.extract_context(code)
  lines = code.lines
  summary = []

  class_name = lines.find { |l| l.strip.start_with?('class ') }
  summary << "Classe detectada: #{class_name.strip}" if class_name

  method_lines = lines.select { |l| l.strip.start_with?('def ') }
  method_lines.each do |line|
    method_signature = line.strip
    method_name = method_signature.split[1]
    summary << "Método: #{method_name}"
  end

  actions = lines.select { |l| l.match(/authenticate|redirect_to|render|params\[:.*\]/) }
  summary << "Ações detectadas:" unless actions.empty?
  actions.each do |line|
    summary << "  - #{line.strip}"
  end

  summary.join("\n")
end

.read_file(path) ⇒ Object



3
4
5
6
7
8
# File 'lib/qaxpert/parser.rb', line 3

def self.read_file(path)
  File.read(path)
rescue
  warn "❌ Não foi possível ler o arquivo: #{path}"
  ""
end