Class: Find_controller_calls

Inherits:
Object
  • Object
show all
Defined in:
lib/ErbFileAnalyser/find_controller_calls.rb

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(array, instanceVar, localVar) ⇒ Find_controller_calls

Returns a new instance of Find_controller_calls.



7
8
9
10
11
# 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

Instance Method Details

#find_controllers(code) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 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) ⇒ Object



49
50
51
52
53
54
# 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