Sha256: 53b3e8421aa30e57bdf845373b8ef912239fb117a76913a9a12c4524fe5ecce8

Contents?: true

Size: 740 Bytes

Versions: 28

Compression:

Stored size: 740 Bytes

Contents

#Contains a couple shared methods for Processors.
module ProcessorHelper

  #Sets the current module.
  def process_module exp
    @current_module = class_name(exp[1]).to_s
    process exp[2] 
    @current_module = nil
    exp
  end

  #Returns a class name as a Symbol.
  def class_name exp
    case exp
    when Sexp
      case exp.node_type
      when :const
        exp[1]
      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
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
brakeman-0.6.1 lib/processors/lib/processor_helper.rb
brakeman-0.6.0 lib/processors/lib/processor_helper.rb
brakeman-min-0.5.2 lib/processors/lib/processor_helper.rb
brakeman-0.5.2 lib/processors/lib/processor_helper.rb
brakeman-min-0.5.1 lib/processors/lib/processor_helper.rb
brakeman-0.5.1 lib/processors/lib/processor_helper.rb
brakeman-min-0.5.0 lib/processors/lib/processor_helper.rb
brakeman-0.5.0 lib/processors/lib/processor_helper.rb
brakeman-0.4.1 lib/processors/lib/processor_helper.rb
brakeman-min-0.4.1 lib/processors/lib/processor_helper.rb
brakeman-min-0.4.0 lib/processors/lib/processor_helper.rb
brakeman-0.4.0 lib/processors/lib/processor_helper.rb
brakeman-min-0.3.2 lib/processors/lib/processor_helper.rb
brakeman-0.3.2 lib/processors/lib/processor_helper.rb
brakeman-min-0.3.1 lib/processors/lib/processor_helper.rb
brakeman-0.3.1 lib/processors/lib/processor_helper.rb
brakeman-min-0.3.0 lib/processors/lib/processor_helper.rb
brakeman-0.3.0 lib/processors/lib/processor_helper.rb
brakeman-min-0.2.2 lib/processors/lib/processor_helper.rb
brakeman-0.2.2 lib/processors/lib/processor_helper.rb