Method: RJR::HandlesMethods::ClassMethods#create_handler_for

Defined in:
lib/rjr/util/handles_methods.rb

#create_handler_for(handler_method) ⇒ Object

Create handler for specified method.

Creates a proc that gets evaluated via instance_exec in request



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/rjr/util/handles_methods.rb', line 70

def create_handler_for(handler_method)
  @jr_handlers ||= {}
  handler_class = self

  @jr_handlers[handler_method] = proc { |*args|
    # instantiate new handler instance
    jr_instance = handler_class.new

    # setup scope to include request variables
    instance_variables.each { |iv|
      jr_instance.instance_variable_set(iv, instance_variable_get(iv))
    }

    # invoke handler method
    jr_instance.method(handler_method).call *args
  }
end