Commit bb5134e1b94445c381761623b23e37175410717c
1 parent
dee13924
Exists in
master
and in
29 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 | 178 | def find_by_contents(asset, scope, query, paginate_options={:page => 1}, options={}) |
| 179 | 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 | 182 | fallback_find_by_contents(asset, scope, query, paginate_options, options) |
| 183 | 183 | end |
| 184 | 184 | ... | ... |
app/controllers/public/content_viewer_controller.rb
| ... | ... | @@ -98,7 +98,7 @@ class ContentViewerController < ApplicationController |
| 98 | 98 | session[:notice] = _("Notification of new comments to '%s' was successfully canceled") % params[:email] |
| 99 | 99 | end |
| 100 | 100 | end |
| 101 | - | |
| 101 | + | |
| 102 | 102 | @comments = @plugins.dispatch_first(:load_comments, @page) |
| 103 | 103 | @comments ||= @page.comments.without_spam.as_thread |
| 104 | 104 | @comments = [@comments] unless @comments.is_a?(Array) | ... | ... |
lib/noosfero/plugin/manager.rb
| ... | ... | @@ -24,7 +24,7 @@ class Noosfero::Plugin::Manager |
| 24 | 24 | dispatch_without_flatten(event, *args).flatten |
| 25 | 25 | end |
| 26 | 26 | |
| 27 | - def dispatch_plugins(event, *args) | |
| 27 | + def fetch_plugins(event, *args) | |
| 28 | 28 | map { |plugin| plugin.class if plugin.send(event, *args) }.compact.flatten |
| 29 | 29 | end |
| 30 | 30 | |
| ... | ... | @@ -32,18 +32,9 @@ class Noosfero::Plugin::Manager |
| 32 | 32 | map { |plugin| plugin.send(event, *args) }.compact |
| 33 | 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 | 35 | alias :dispatch_scopes :dispatch_without_flatten |
| 45 | 36 | |
| 46 | - def first(event, *args) | |
| 37 | + def dispatch_first(event, *args) | |
| 47 | 38 | result = nil |
| 48 | 39 | each do |plugin| |
| 49 | 40 | result = plugin.send(event, *args) |
| ... | ... | @@ -52,7 +43,7 @@ class Noosfero::Plugin::Manager |
| 52 | 43 | result |
| 53 | 44 | end |
| 54 | 45 | |
| 55 | - def first_plugin(event, *args) | |
| 46 | + def fetch_first_plugin(event, *args) | |
| 56 | 47 | result = nil |
| 57 | 48 | each do |plugin| |
| 58 | 49 | if plugin.send(event, *args) | ... | ... |
test/unit/plugin_manager_test.rb
| ... | ... | @@ -135,7 +135,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
| 135 | 135 | environment.enable_plugin(Plugin2.name) |
| 136 | 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 | 140 | assert_includes results, Plugin2 |
| 141 | 141 | assert_includes results, Plugin3 |
| ... | ... | @@ -165,35 +165,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
| 165 | 165 | |
| 166 | 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 | 169 | end |
| 197 | 170 | |
| 198 | 171 | end |
| 199 | - | ... | ... |