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 313 session[:notice] = nil # consume the notice
314 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 322 render :text => user_data.to_json, :layout => false, :content_type => "application/javascript"
319 323 end
... ...
test/functional/account_controller_test.rb
... ... @@ -717,7 +717,9 @@ class AccountControllerTest < ActionController::TestCase
717 717  
718 718 class Plugin2 < Noosfero::Plugin
719 719 def user_data_extras
720   - {:test => 5}
  720 + proc do
  721 + {:test => 5}
  722 + end
721 723 end
722 724 end
723 725 Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name])
... ...