From 77064dd35440b3a6e247b1a9227a37bac8eb0cf7 Mon Sep 17 00:00:00 2001 From: Braulio Bhavamitra Date: Mon, 2 Feb 2015 15:13:08 -0300 Subject: [PATCH] plugins: Support namespaced controllers' classes --- lib/noosfero/plugin/routes.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/noosfero/plugin/routes.rb b/lib/noosfero/plugin/routes.rb index ac9929b..0fd743f 100644 --- a/lib/noosfero/plugin/routes.rb +++ b/lib/noosfero/plugin/routes.rb @@ -5,13 +5,16 @@ Dir.glob(Rails.root.join(plugins_root, '*', 'controllers')) do |controllers_dir| 'profile' => 'profile/:profile/plugin', 'myprofile' => 'myprofile/:profile/plugin', 'admin' => 'admin/plugin'} + plugin_name = File.basename(File.dirname(controllers_dir)) controllers_by_folder = prefixes_by_folder.keys.inject({}) do |hash, folder| - hash.merge!({folder => Dir.glob(File.join(controllers_dir, folder, '*')).map {|full_names| File.basename(full_names).gsub(/_controller.rb$/,'')}}) + path = "#{controllers_dir}/#{folder}/" + hash[folder] = Dir.glob("#{path}{*.rb,#{plugin_name}_plugin/*.rb}").map do |filename| + filename.gsub(path, '').gsub(/_controller.rb$/, '') + end + hash end - plugin_name = File.basename(File.dirname(controllers_dir)) - controllers_by_folder.each do |folder, controllers| controllers.each do |controller| controller_name = controller.gsub("#{plugin_name}_plugin_",'') -- libgit2 0.21.2