From 71b25a592a4babbc02567ff15f618bfbfb600987 Mon Sep 17 00:00:00 2001 From: Chris Anderson Date: Wed, 31 Dec 2008 16:00:24 -0800 Subject: [PATCH] hand merge mattly time patch --- lib/couchrest/core/model.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/couchrest/core/model.rb b/lib/couchrest/core/model.rb index 7752cf7..199420f 100644 --- a/lib/couchrest/core/model.rb +++ b/lib/couchrest/core/model.rb @@ -519,14 +519,18 @@ module CouchRest self.class.casts.each do |k,v| next unless self[k] target = v[:as] - v[:send] ||= 'new' + v[:send] || 'new' if target.is_a?(Array) klass = ::Extlib::Inflection.constantize(target[0]) self[k] = self[k].collect do |value| - klass.send(v[:send], value) + (!v[:send] && klass == Time) ? Time.parse(value) : klass.send((v[:send] || 'new'), value) end else - self[k] = ::Extlib::Inflection.constantize(target).send(v[:send], self[k]) + self[k] = if (!v[:send] && target == 'Time') + Time.parse(self[k]) + else + ::Extlib::Inflection.constantize(target).send((v[:send] || 'new'), self[k]) + end end end end