lib/undies/partial.rb in undies-1.0.0 vs lib/undies/partial.rb in undies-1.1.0
- old
+ new
@@ -2,19 +2,22 @@
require 'undies/template'
module Undies
class Partial < Template
- def initialize(path, object=nil, locals={})
- data = PartialData.new(path)
- data.object, data.values = object_locals(object, locals)
- super(path, data)
+ def initialize(path, *args)
+ locals = PartialData.new(path)
+ locals.values, io, locals.object = self.___partial_args(*args)
+ super(path, io, locals)
end
- private
+ protected
- def object_locals(o, l)
- o && o.kind_of?(::Hash) ? [nil, o] : [o, l || {}]
+ def ___partial_args(*args)
+ [ args.last.kind_of?(::Hash) ? args.pop : {},
+ self.___is_a_stream?(args.last) ? args.pop : nil,
+ args.first
+ ]
end
end
end