class Find_controller_calls

Visits parse tree looking for calls to controllers, when found, insert them on an array

Public Class Methods

new(array, instanceVar, localVar) click to toggle source
# File lib/ErbFileAnalyser/find_controller_calls.rb, line 7
def initialize(array, instanceVar, localVar)
  $output_array = array
  $instance_variable = instanceVar
  $lvar_derived_from_ivar = localVar
end

Public Instance Methods

find_controllers(code) click to toggle source
# File lib/ErbFileAnalyser/find_controller_calls.rb, line 28
def find_controllers(code)
  if is_still_a_node(code)
    look_for_instance_variable(code)
    look_for_loop_argument(code)
    code.children.each do |code_children|
      if is_still_a_node(code_children)
        look_for_link_to_calls(code_children)
        look_for_submit_calls(code_children, $instance_variable)
        look_for_auto_gen_methods(code_children,$instance_variable,$lvar_derived_from_ivar)
        look_for_form_for_action(code_children,$instance_variable)
        look_for_render_call(code_children,$instance_variable)
        look_for_form_tag_call(code_children, $instance_variable)
        find_controllers(code_children)
      end
    end
    $output_array
  else
    $output_array
  end
end
insert_outputs_on_array(name, receiver) click to toggle source
# File lib/ErbFileAnalyser/find_controller_calls.rb, line 49
def insert_outputs_on_array(name, receiver)
  output_model = Output_model.new
  output_model.name = name
  output_model.receiver = receiver
  $output_array.push output_model
end