From e9d6438cd26b854e31929291f419ae89674c64ed Mon Sep 17 00:00:00 2001 From: Michael Solovyov Date: Fri, 21 Oct 2011 20:56:10 -0700 Subject: [PATCH] Fix for not taking into account class_name in custom has_many --- lib/simply_stored/couch/has_many.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/simply_stored/couch/has_many.rb b/lib/simply_stored/couch/has_many.rb index 8ad047e..0c6292c 100644 --- a/lib/simply_stored/couch/has_many.rb +++ b/lib/simply_stored/couch/has_many.rb @@ -58,7 +58,11 @@ def define_has_many_through_getter(name, options, through) def define_has_many_setter_add(name, options) define_method("add_#{name.to_s.singularize}") do |value| - klass = self.class.get_class_from_name(name) + if !options[:class_name].blank? + klass = self.class.get_class_from_name(options[:class_name]) + else + klass = self.class.get_class_from_name(name) + end raise ArgumentError, "expected #{klass} got #{value.class}" unless value.is_a?(klass) value.send("#{self.class.foreign_key}=", id)