Module: Brakeman::ProcessorHelper

Included in:
AliasProcessor, BaseCheck, BaseProcessor
Defined in:
lib/brakeman/processors/lib/processor_helper.rb

Overview

Contains a couple shared methods for Processors.

Instance Method Summary (collapse)

Instance Method Details

- (Object) class_name(exp)

Returns a class name as a Symbol.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/brakeman/processors/lib/processor_helper.rb', line 13

def class_name exp
  case exp
  when Sexp
    case exp.node_type
    when :const
      exp[1]
    when :lvar
      exp[1].to_sym
    when :colon2
      "#{class_name(exp[1])}::#{exp[2]}".to_sym
    when :colon3
      "::#{exp[1]}".to_sym
    when :call
      process exp
    else
      raise "Error: Cannot get class name from #{exp}"
    end
  when Symbol
    exp
  when nil
    nil
  else
    raise "Error: Cannot get class name from #{exp}"
  end
end

- (Object) process_module(exp)

Sets the current module.



5
6
7
8
9
10
# File 'lib/brakeman/processors/lib/processor_helper.rb', line 5

def process_module exp
  @current_module = class_name(exp[1]).to_s
  process exp[2] 
  @current_module = nil
  exp
end