lib/keynote.rb in keynote-0.1.2 vs lib/keynote.rb in keynote-0.1.3
- old
+ new
@@ -13,10 +13,11 @@
#
# @see file:README.md
module Keynote
class << self
# Create or retrieve a presenter wrapping zero or more objects.
+ # If a block is given, yield the presenter into it.
#
# The first parameter is a Rails view context, but you'll usually access
# this method through `Keynote::Helper#present`,
# `Keynote::Controller#present`, or `Keynote::Presenter#present`, all of
# which handle the view context parameter automatically.
@@ -50,10 +51,12 @@
else
name = presenter_name_from_object(objects[0])
end
Cache.fetch(name, view, *objects) do
- presenter_from_name(name).new(view, *objects)
+ presenter_from_name(name).new(view, *objects).tap do |presenter|
+ yield presenter if block_given?
+ end
end
end
private