lib/mongoid-crud.rb in mongoid-crud-1.1.0 vs lib/mongoid-crud.rb in mongoid-crud-1.2.0
- old
+ new
@@ -1,103 +2 @@
-require 'mongoid'
-require 'mongoid-dsl'
-
-module Mongoid
-
- module CRUD
-
- module Extend
-
- @@parent_sym= :parent_id
-
- def __create__ *args
-
- query = Hash[*args.select{|e| e.class <= ::Hash }]
- classes = args.select{|e| e.class <= ::Class }
-
- if self.embedded?
-
- raise(ArgumentError,"for embeded document, you need :#{@@parent_sym}") if query[@@parent_sym].nil?
- parent_model= self._get_class_path(*classes).pinch.last
-
- case parent_model.relation_connection_type(self).to_s.downcase.split('::').last.to_sym
-
- when :many
- return self._get_class_path(*classes).pinch.last._find(query.delete(@@parent_sym)).__send__(self.mongoid_name).create!(query)
-
- when :one
- return self._get_class_path(*classes).pinch.last._find(query.delete(@@parent_sym)).__send__("create_#{self.mongoid_name}",query)
-
- end
-
- else
- return self.create!(query)
- end
-
- end
- alias _create __create__
-
- def __read__ *args
-
- query = Hash[*args.select{|e| e.class <= ::Hash }]
- classes = args.select{|e| e.class <= ::Class }
-
- if self.embedded?
-
- parent_id = query.delete(@@parent_sym)
- _id = query.delete('_id')
-
- if !_id.nil?
- return self._find(_id)#.__send__(self.mongoid_name).create(query)
- elsif !query[@@parent_sym].nil?
- return self._get_class_path(*classes).pinch.last._find(parent_id).__send__(self.mongoid_name).where(query)
- else
- return self._where(query)
- end
-
- else
- return self.where(query)
- end
-
- end
- alias _read __read__
-
- def __update__ *args
-
- query = Hash[*args.select{|e| e.class <= ::Hash }]
- classes = args.select{|e| e.class <= ::Class }
-
- raise(ArgumentError,"to #{__method__} document, you need :_id") if query[:_id].nil?
- var= self._find(query.delete(:_id))
- query.each{|k,v| var[k]= v }
- return var.save!
-
- end
- alias _update __update__
-
- def __delete__ *args
-
- query = Hash[*args.select{|e| e.class <= ::Hash }]
- classes = args.select{|e| e.class <= ::Class }
-
- raise(ArgumentError,"to #{__method__} document, you need :_id") if query[:_id].nil?
- return self._find(query[:_id]).delete
-
- end
- alias _delete __delete__
-
- end
-
- class << self
-
- def included klass
- klass.__send__ :extend, self::Extend
- end
-
- def extended klass
- klass.__send__ :extend, self::Extend
- end
-
- end
-
- end
-end
+require 'mongoid-crud/auto'
\ No newline at end of file