Method: MongoDoc::Scope::CriteriaProxy#initialize
- Defined in:
- lib/mongo_doc/scope.rb
#initialize(parent_scope, criteria, options, &block) ⇒ CriteriaProxy
Returns a new instance of CriteriaProxy.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/mongo_doc/scope.rb', line 28 def initialize(parent_scope, criteria, , &block) [.delete(:extend)].flatten.each { |extension| extend extension } if .include?(:extend) extend Module.new(&block) if block_given? if CriteriaProxy === parent_scope chained = Mongoid::Criteria.new(klass) chained.merge(parent_scope) chained.merge(criteria) self.criteria = chained self.klass = criteria.klass else self.criteria = criteria self.klass = parent_scope end self.parent_scope = parent_scope end |