Class: MongoidEmbedFinder::NestedQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid_embed_finder/nested_query.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent_criteria, child_criteria) ⇒ NestedQuery

Returns a new instance of NestedQuery.



5
6
7
8
# File 'lib/mongoid_embed_finder/nested_query.rb', line 5

def initialize(parent_criteria, child_criteria)
  @parent_criteria = parent_criteria
  @child_criteria  = child_criteria
end

Instance Attribute Details

#child_criteriaObject (readonly)

Returns the value of attribute child_criteria.



3
4
5
# File 'lib/mongoid_embed_finder/nested_query.rb', line 3

def child_criteria
  @child_criteria
end

#parent_criteriaObject (readonly)

Returns the value of attribute parent_criteria.



3
4
5
# File 'lib/mongoid_embed_finder/nested_query.rb', line 3

def parent_criteria
  @parent_criteria
end

Instance Method Details

#executeObject



18
19
20
21
# File 'lib/mongoid_embed_finder/nested_query.rb', line 18

def execute
  parent_criteria.collection
    .find(parent_criteria.selector)
end

#scope_child(conditions = {}) ⇒ Object



14
15
16
# File 'lib/mongoid_embed_finder/nested_query.rb', line 14

def scope_child(conditions = {})
  @child_criteria = @child_criteria.where(conditions)
end

#scope_parent(conditions = {}) ⇒ Object



10
11
12
# File 'lib/mongoid_embed_finder/nested_query.rb', line 10

def scope_parent(conditions = {})
  @parent_criteria = @parent_criteria.where(conditions)
end