Makes calls to the appropriate processor.
The ControllerProcessor, TemplateProcessor, and ModelProcessor will update the Tracker with information about what is parsed.
Process configuration file source
# File lib/brakeman/processor.rb, line 25 def process_config src ConfigProcessor.new(@tracker).process_config src end
Process controller source. file_name is used for reporting
# File lib/brakeman/processor.rb, line 40 def process_controller src, file_name if contains_class? src ControllerProcessor.new(@app_tree, @tracker).process_controller src, file_name else LibraryProcessor.new(@tracker).process_library src, file_name end end
Process variable aliasing in controller source and save it in the tracker.
# File lib/brakeman/processor.rb, line 50 def process_controller_alias name, src, only_method = nil ControllerAliasProcessor.new(@app_tree, @tracker, only_method).process_controller name, src end
Process Gemfile
# File lib/brakeman/processor.rb, line 30 def process_gems src, gem_lock = nil GemProcessor.new(@tracker).process_gems src, gem_lock end
Process source for initializing files
# File lib/brakeman/processor.rb, line 89 def process_initializer name, src res = BaseProcessor.new(@tracker).process src res = AliasProcessor.new(@tracker).process res @tracker.initializers[Pathname.new(name).basename.to_s] = res end
Process source for a library file
# File lib/brakeman/processor.rb, line 96 def process_lib src, file_name LibraryProcessor.new(@tracker).process_library src, file_name end
Process a model source
# File lib/brakeman/processor.rb, line 55 def process_model src, file_name result = ModelProcessor.new(@tracker).process_model src, file_name AliasProcessor.new(@tracker).process_all result if result end
Process route file source
# File lib/brakeman/processor.rb, line 35 def process_routes src RoutesProcessor.new(@tracker).process_routes src end
Process either an ERB or HAML template
# File lib/brakeman/processor.rb, line 61 def process_template name, src, type, called_from = nil, file_name = nil case type when :erb result = ErbTemplateProcessor.new(@tracker, name, called_from, file_name).process src when :haml result = HamlTemplateProcessor.new(@tracker, name, called_from, file_name).process src when :erubis result = ErubisTemplateProcessor.new(@tracker, name, called_from, file_name).process src else abort "Unknown template type: #{type} (#{name})" end #Each template which is rendered is stored separately #with a new name. if called_from name = ("#{name}.#{called_from}").to_sym end @tracker.templates[name][:src] = result @tracker.templates[name][:type] = type end
Generated with the Darkfish Rdoc Generator 2.