lib/screengem/actor.rb in screengem-0.15.0 vs lib/screengem/actor.rb in screengem-0.16.0
- old
+ new
@@ -48,18 +48,18 @@
end
#
# Used by an actor to recall a value for the specified tag.
#
- def recall(tag, reload: true)
- unless recollections.key?(tag)
+ def recall(tag, default: nil, reload: true)
+ unless recollections.key?(tag) || default.present?
raise <<~MSG
#{name} does not recall #{tag}
#{name} recalls: #{recollections.keys.to_sentence}
MSG
end
- recollections.fetch(tag).tap do |value|
+ recollections.fetch(tag, default).tap do |value|
value.reload if reload && value.respond_to?(:reload)
end
end
#