Commit bb5134e1b94445c381761623b23e37175410717c
1 parent
dee13924
Exists in
staging
and in
42 other branches
[macro-support-review] Renaming manager first to dispatch_first
Also renaming dispatch_plugins to fetch_plugins and first_plugin to fetch_first_plugin
Showing
4 changed files
with
7 additions
and
44 deletions
Show diff stats
app/controllers/application_controller.rb
| @@ -178,7 +178,7 @@ class ApplicationController < ActionController::Base | @@ -178,7 +178,7 @@ class ApplicationController < ActionController::Base | ||
| 178 | def find_by_contents(asset, scope, query, paginate_options={:page => 1}, options={}) | 178 | def find_by_contents(asset, scope, query, paginate_options={:page => 1}, options={}) |
| 179 | scope = scope.send(options[:filter]) if options[:filter] | 179 | scope = scope.send(options[:filter]) if options[:filter] |
| 180 | 180 | ||
| 181 | - @plugins.first(:find_by_contents, asset, scope, query, paginate_options, options) || | 181 | + @plugins.dispatch_first(:find_by_contents, asset, scope, query, paginate_options, options) || |
| 182 | fallback_find_by_contents(asset, scope, query, paginate_options, options) | 182 | fallback_find_by_contents(asset, scope, query, paginate_options, options) |
| 183 | end | 183 | end |
| 184 | 184 |
app/controllers/public/content_viewer_controller.rb
| @@ -98,7 +98,7 @@ class ContentViewerController < ApplicationController | @@ -98,7 +98,7 @@ class ContentViewerController < ApplicationController | ||
| 98 | session[:notice] = _("Notification of new comments to '%s' was successfully canceled") % params[:email] | 98 | session[:notice] = _("Notification of new comments to '%s' was successfully canceled") % params[:email] |
| 99 | end | 99 | end |
| 100 | end | 100 | end |
| 101 | - | 101 | + |
| 102 | @comments = @plugins.dispatch_first(:load_comments, @page) | 102 | @comments = @plugins.dispatch_first(:load_comments, @page) |
| 103 | @comments ||= @page.comments.without_spam.as_thread | 103 | @comments ||= @page.comments.without_spam.as_thread |
| 104 | @comments = [@comments] unless @comments.is_a?(Array) | 104 | @comments = [@comments] unless @comments.is_a?(Array) |
lib/noosfero/plugin/manager.rb
| @@ -24,7 +24,7 @@ class Noosfero::Plugin::Manager | @@ -24,7 +24,7 @@ class Noosfero::Plugin::Manager | ||
| 24 | dispatch_without_flatten(event, *args).flatten | 24 | dispatch_without_flatten(event, *args).flatten |
| 25 | end | 25 | end |
| 26 | 26 | ||
| 27 | - def dispatch_plugins(event, *args) | 27 | + def fetch_plugins(event, *args) |
| 28 | map { |plugin| plugin.class if plugin.send(event, *args) }.compact.flatten | 28 | map { |plugin| plugin.class if plugin.send(event, *args) }.compact.flatten |
| 29 | end | 29 | end |
| 30 | 30 | ||
| @@ -32,18 +32,9 @@ class Noosfero::Plugin::Manager | @@ -32,18 +32,9 @@ class Noosfero::Plugin::Manager | ||
| 32 | map { |plugin| plugin.send(event, *args) }.compact | 32 | map { |plugin| plugin.send(event, *args) }.compact |
| 33 | end | 33 | end |
| 34 | 34 | ||
| 35 | - def dispatch_first(event, *args) | ||
| 36 | - value = nil | ||
| 37 | - map do |plugin| | ||
| 38 | - value = plugin.send(event, *args) | ||
| 39 | - break if value | ||
| 40 | - end | ||
| 41 | - value | ||
| 42 | - end | ||
| 43 | - | ||
| 44 | alias :dispatch_scopes :dispatch_without_flatten | 35 | alias :dispatch_scopes :dispatch_without_flatten |
| 45 | 36 | ||
| 46 | - def first(event, *args) | 37 | + def dispatch_first(event, *args) |
| 47 | result = nil | 38 | result = nil |
| 48 | each do |plugin| | 39 | each do |plugin| |
| 49 | result = plugin.send(event, *args) | 40 | result = plugin.send(event, *args) |
| @@ -52,7 +43,7 @@ class Noosfero::Plugin::Manager | @@ -52,7 +43,7 @@ class Noosfero::Plugin::Manager | ||
| 52 | result | 43 | result |
| 53 | end | 44 | end |
| 54 | 45 | ||
| 55 | - def first_plugin(event, *args) | 46 | + def fetch_first_plugin(event, *args) |
| 56 | result = nil | 47 | result = nil |
| 57 | each do |plugin| | 48 | each do |plugin| |
| 58 | if plugin.send(event, *args) | 49 | if plugin.send(event, *args) |
test/unit/plugin_manager_test.rb
| @@ -135,7 +135,7 @@ class PluginManagerTest < ActiveSupport::TestCase | @@ -135,7 +135,7 @@ class PluginManagerTest < ActiveSupport::TestCase | ||
| 135 | environment.enable_plugin(Plugin2.name) | 135 | environment.enable_plugin(Plugin2.name) |
| 136 | environment.enable_plugin(Plugin3.name) | 136 | environment.enable_plugin(Plugin3.name) |
| 137 | 137 | ||
| 138 | - results = manager.dispatch_plugins(:random_event) | 138 | + results = manager.fetch_plugins(:random_event) |
| 139 | 139 | ||
| 140 | assert_includes results, Plugin2 | 140 | assert_includes results, Plugin2 |
| 141 | assert_includes results, Plugin3 | 141 | assert_includes results, Plugin3 |
| @@ -165,35 +165,7 @@ class PluginManagerTest < ActiveSupport::TestCase | @@ -165,35 +165,7 @@ class PluginManagerTest < ActiveSupport::TestCase | ||
| 165 | 165 | ||
| 166 | Plugin3.any_instance.expects(:random_event).never | 166 | Plugin3.any_instance.expects(:random_event).never |
| 167 | 167 | ||
| 168 | - assert_equal Plugin2, manager.first_plugin(:random_event) | ||
| 169 | - end | ||
| 170 | - | ||
| 171 | - should 'dispatch_first method returns the first plugin response if there is many plugins to responde the event and the first one respond nil' do | ||
| 172 | - | ||
| 173 | - class Plugin1 < Noosfero::Plugin | ||
| 174 | - def random_event | ||
| 175 | - nil | ||
| 176 | - end | ||
| 177 | - end | ||
| 178 | - | ||
| 179 | - class Plugin2 < Noosfero::Plugin | ||
| 180 | - def random_event | ||
| 181 | - 'Plugin 2 action.' | ||
| 182 | - end | ||
| 183 | - end | ||
| 184 | - | ||
| 185 | - class Plugin3 < Noosfero::Plugin | ||
| 186 | - def random_event | ||
| 187 | - 'Plugin 3 action.' | ||
| 188 | - end | ||
| 189 | - end | ||
| 190 | - | ||
| 191 | - environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s, Plugin3.to_s]) | ||
| 192 | - | ||
| 193 | - p2 = Plugin2.new | ||
| 194 | - | ||
| 195 | - assert_equal p2.random_event, plugins.dispatch_first(:random_event) | 168 | + assert_equal Plugin2, manager.fetch_first_plugin(:random_event) |
| 196 | end | 169 | end |
| 197 | 170 | ||
| 198 | end | 171 | end |
| 199 | - |