lib/ixtlan/babel/factory.rb in ixtlan-babel-0.3.3 vs lib/ixtlan/babel/factory.rb in ixtlan-babel-0.3.4
- old
+ new
@@ -16,10 +16,11 @@
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
+require 'ixtlan/babel/dm_validation_errors_serializer' if defined? DataMapper
module Ixtlan
module Babel
class Factory
NANOSECONDS_IN_DAY = 86400*10**6
@@ -54,10 +55,10 @@
end
def new_serializer( resource )
if resource.respond_to?(:model)
model = resource.model
- elsif resource.respond_to? :collect
+ elsif resource.respond_to?( :collect) && !resource.respond_to?( :to_hash)
if resource.empty?
return EmptyArraySerializer.new
else
r = resource.first
model = r.respond_to?( :model ) ? r.model : r.class