Skip to content

Commit

Permalink
Bumped to 0.12.11, reverted to better, less weird version of ViewCont…
Browse files Browse the repository at this point in the history
…ext#plugins() method.
  • Loading branch information
Bauerpauer committed Sep 22, 2009
1 parent 92a64cf commit 5364864
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 32 deletions.
6 changes: 0 additions & 6 deletions lib/harbor/plugin_list.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ def size
def clear
@plugins.clear
end

def render(context, variables = {})
@plugins.map do |plugin|
Plugin::prepare(plugin, context, variables).to_s
end.join(' ')
end

def <<(plugin)
case plugin
Expand Down
10 changes: 3 additions & 7 deletions lib/harbor/view_context.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,14 @@ def render(partial, variables = nil)

def plugin(name, variables = {})
if (plugin_list = Harbor::View::plugins(name)).any?
if block_given?
plugin_list.each do |plugin|
yield Plugin::prepare(plugin, self, variables)
end
else
plugin_list.render(self, variables)
plugin_list.map do |plugin|
Plugin::prepare(plugin, self, variables)
end
else
nil
end
end

def locale
@locale ||= Harbor::Locale.default
end
Expand Down
7 changes: 0 additions & 7 deletions test/plugin_list_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,5 @@ def test_clearing_plugins

assert_equal(0, @map.size)
end

def test_render
@map << TestPlugin
@map << "Sample String Plugin"

assert_equal("Fancy TestPlugin Sample String Plugin", @map.render(nil, :plugin_type => "Test"))
end

end
17 changes: 5 additions & 12 deletions test/view_context_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -70,30 +70,23 @@ def test_plugin_returns_nil_when_no_plugins_registered
Harbor::View.new("assertions", @context).to_s
end

def test_plugin_returns_all_rendered_plugins_separated_by_spaces
def test_plugin_returns_all_rendered_plugins
Harbor::View::plugins("sample/plugin") << "Plugin1"
Harbor::View::plugins("sample/plugin") << "Plugin2"

@context[:assertions] = lambda do
@assertor.assert_equal("Plugin1 Plugin2", plugin("sample/plugin"))
@assertor.assert_equal("Plugin1Plugin2", plugin("sample/plugin").to_s)
end

Harbor::View.new("assertions", @context).to_s
end

def test_plugin_executes_block_for_each_registered_plugin
def test_plugin_returns_an_array
Harbor::View::plugins("sample/plugin") << "Plugin1"
Harbor::View::plugins("sample/plugin") << "Plugin2"

@context[:assertions] = lambda do
renders = []

plugin("sample/plugin") do |plugin|
renders << "<li>#{plugin}</li>"
end

@assertor.assert_equal("<li>Plugin1</li>", renders[0])
@assertor.assert_equal("<li>Plugin2</li>", renders[1])
@context[:assertions] = lambda do
@assertor.assert_kind_of(Array, plugin("sample/plugin"))
end

Harbor::View.new("assertions", @context).to_s
Expand Down

0 comments on commit 5364864

Please sign in to comment.