Allow template to be re-used without persisting assigns

This commit is contained in:
Brian Candler
2009-06-06 16:15:37 +01:00
parent 678fdfdb8a
commit 09c0b3b391
2 changed files with 23 additions and 3 deletions
+4 -3
View File
@@ -89,10 +89,11 @@ module Liquid
when Liquid::Context
args.shift
when Hash
self.assigns.merge!(args.shift)
Context.new(assigns, registers, @rethrow_errors)
a = args.shift
assigns.each { |k,v| a[k] = v unless a.has_key?(k) }
Context.new(a, registers, @rethrow_errors)
when nil
Context.new(assigns, registers, @rethrow_errors)
Context.new(assigns.dup, registers, @rethrow_errors)
else
raise ArgumentError, "Expect Hash or Liquid::Context as parameter"
end