Process generic library and stores it in Tracker.libs
# File lib/brakeman/processors/library_processor.rb, line 18 def process_class exp name = class_name(exp.class_name) if @current_class outer_class = @current_class name = (outer_class[:name].to_s + "::" + name.to_s).to_sym end if @current_module name = (@current_module[:name].to_s + "::" + name.to_s).to_sym end if @tracker.libs[name] @current_class = @tracker.libs[name] else begin parent = class_name exp.parent_name rescue StandardError => e Brakeman.debug e parent = nil end @current_class = { :name => name, :parent => parent, :includes => [], :public => {}, :private => {}, :protected => {}, :src => exp, :file => @file_name } @tracker.libs[name] = @current_class end exp.body = process_all! exp.body if outer_class @current_class = outer_class else @current_class = nil end exp end
# File lib/brakeman/processors/library_processor.rb, line 100 def process_defn exp exp = @alias_processor.process exp exp.node_type = :methdef if @current_class @current_class[:public][exp.method_name] = exp elsif @current_module @current_module[:public][exp.method_name] = exp end exp end
# File lib/brakeman/processors/library_processor.rb, line 113 def process_defs exp exp = @alias_processor.process exp exp.node_type = :selfdef if @current_class @current_class[:public][exp.method_name] = exp elsif @current_module @current_module[:public][exp.method_name] = exp end exp end
# File lib/brakeman/processors/library_processor.rb, line 13 def process_library src, file_name = nil @file_name = file_name process src end
# File lib/brakeman/processors/library_processor.rb, line 63 def process_module exp name = class_name(exp.module_name) if @current_module outer_class = @current_module name = (outer_class[:name].to_s + "::" + name.to_s).to_sym end if @current_class name = (@current_class[:name].to_s + "::" + name.to_s).to_sym end if @tracker.libs[name] @current_module = @tracker.libs[name] else @current_module = { :name => name, :includes => [], :public => {}, :private => {}, :protected => {}, :src => exp, :file => @file_name } @tracker.libs[name] = @current_module end exp.body = process_all! exp.body if outer_class @current_module = outer_class else @current_module = nil end exp end
Generated with the Darkfish Rdoc Generator 2.