diff --git a/app/controllers/public/account_controller.rb b/app/controllers/public/account_controller.rb index a7cf41d..cf82ecb 100644 --- a/app/controllers/public/account_controller.rb +++ b/app/controllers/public/account_controller.rb @@ -313,7 +313,11 @@ class AccountController < ApplicationController session[:notice] = nil # consume the notice end - @plugins.each { |plugin| user_data.merge!(plugin.user_data_extras) } + @plugins.each do |plugin| + user_data_extras = plugin.user_data_extras + user_data_extras = instance_exec(&user_data_extras) if user_data_extras.kind_of?(Proc) + user_data.merge!(user_data_extras) + end render :text => user_data.to_json, :layout => false, :content_type => "application/javascript" end diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb index 7d86167..d27aa9f 100644 --- a/test/functional/account_controller_test.rb +++ b/test/functional/account_controller_test.rb @@ -717,7 +717,9 @@ class AccountControllerTest < ActionController::TestCase class Plugin2 < Noosfero::Plugin def user_data_extras - {:test => 5} + proc do + {:test => 5} + end end end Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) -- libgit2 0.21.2