Commit 8beb32abe01de832279d813e0f27ff1cb845057d

Authored by Victor Costa
1 parent 2917f48f

Accept proc in user_data_extras from plugins

app/controllers/public/account_controller.rb
@@ -313,7 +313,11 @@ class AccountController < ApplicationController @@ -313,7 +313,11 @@ class AccountController < ApplicationController
313 session[:notice] = nil # consume the notice 313 session[:notice] = nil # consume the notice
314 end 314 end
315 315
316 - @plugins.each { |plugin| user_data.merge!(plugin.user_data_extras) } 316 + @plugins.each do |plugin|
  317 + user_data_extras = plugin.user_data_extras
  318 + user_data_extras = instance_exec(&user_data_extras) if user_data_extras.kind_of?(Proc)
  319 + user_data.merge!(user_data_extras)
  320 + end
317 321
318 render :text => user_data.to_json, :layout => false, :content_type => "application/javascript" 322 render :text => user_data.to_json, :layout => false, :content_type => "application/javascript"
319 end 323 end
test/functional/account_controller_test.rb
@@ -717,7 +717,9 @@ class AccountControllerTest < ActionController::TestCase @@ -717,7 +717,9 @@ class AccountControllerTest < ActionController::TestCase
717 717
718 class Plugin2 < Noosfero::Plugin 718 class Plugin2 < Noosfero::Plugin
719 def user_data_extras 719 def user_data_extras
720 - {:test => 5} 720 + proc do
  721 + {:test => 5}
  722 + end
721 end 723 end
722 end 724 end
723 Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) 725 Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])