From 35b74de7703515cf93da2d3e850702f58a2a6f48 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 12 Feb 2006 21:31:28 +0000 Subject: Use real assigns instead of a method call [DHH] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3591 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_view/helpers/prototype_helper.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'actionpack/lib/action_view') diff --git a/actionpack/lib/action_view/helpers/prototype_helper.rb b/actionpack/lib/action_view/helpers/prototype_helper.rb index a953eab659..9a65fee855 100644 --- a/actionpack/lib/action_view/helpers/prototype_helper.rb +++ b/actionpack/lib/action_view/helpers/prototype_helper.rb @@ -671,10 +671,6 @@ module ActionView @generator = generator @generator << root end - - def assign(variable, value) - append_to_function_chain! "#{variable} = #{@generator.send(:javascript_object_for, value)}" - end def replace_html(*options_for_render) call 'update', @generator.render(*options_for_render) @@ -685,12 +681,22 @@ module ActionView end private + def method_missing(method, *arguments) + if method.to_s =~ /(.*)=$/ + assign($1, arguments.first) + else + call(method, *arguments) + end + end + def call(function, *arguments) append_to_function_chain!("#{function}(#{@generator.send(:arguments_for_call, arguments)})") self end - - alias_method :method_missing, :call + + def assign(variable, value) + append_to_function_chain! "#{variable} = #{@generator.send(:javascript_object_for, value)}" + end def function_chain @function_chain ||= @generator.instance_variable_get("@lines") -- cgit v1.2.3