lib/mongoid-dsl/monkey.rb in mongoid-dsl-1.0.3 vs lib/mongoid-dsl/monkey.rb in mongoid-dsl-1.0.5

- old
+ new

@@ -585,56 +585,50 @@ module Include # convert mongoid name def convert_model_name - unless self.class <= Class || self.class <= String || self.class <= Symbol || self.class <= NilClass - raise ArgumentError, "invalid input, must be Class or String: => #{self.class} (#{self})" + unless self.class <= ::Class || self.class <= ::String || self.class <= ::Symbol || self.class <= ::NilClass + return super;# raise ArgumentError, "invalid input, must be Class or String: => #{self.class} (#{self})" end - if self.class <= NilClass + if self.class <= ::NilClass return nil end - case self.class.to_s + case true - when "Class" + when self.class == ::Class return self.to_s.split('::').last.underscore - when "String","Symbol" - Mongoid.models.each do |one_model_name| - if self.to_s == one_model_name.to_s.split('::').last.underscore || \ - self.to_s == one_model_name.to_s.split('::').last.underscore+('s') + when ![ ::Symbol, ::String].select{ |klass|self.class <= klass }.empty? - return one_model_name.to_s.constantize - + Mongoid.models.each do |model_name| + mongoid_model_name= model_name.mongoid_name + unless [mongoid_model_name,mongoid_model_name+'s'].select{|mn| self.to_s == mn }.empty? + return model_name.to_s.constantize end end return self.to_s.split('::').last.underscore - end return nil end alias :mongoise_name :convert_model_name alias :mongoize_name :convert_model_name alias :mongoid_name :convert_model_name - alias :mongoid_name_convert :convert_model_name - end end # for manual include - begin - self.__send__ :include, Mongoid::DSL::Document::Include - def self.included klass - klass.__send__ :extend,Mongoid::DSL::Document::Extend - end + self.__send__ :include, Mongoid::DSL::Document::Include + def self.included klass + klass.__send__ :extend,Mongoid::DSL::Document::Extend end end end \ No newline at end of file