class MongoidEmbedFinder::Projectors::Base
Public Instance Methods
operator()
click to toggle source
# File lib/mongoid_embed_finder/projectors/base.rb, line 14 def operator raise NotImplementedError, "operator needs to be overriden" end
project(fields = [])
click to toggle source
# File lib/mongoid_embed_finder/projectors/base.rb, line 8 def project(fields = []) projection_with_fields = projection.merge(include_fields(fields)) query.scope_parent(projection) query.execute.select(projection_with_fields) end
projection()
click to toggle source
# File lib/mongoid_embed_finder/projectors/base.rb, line 4 def projection { relation.key => { operator => query.child_criteria.selector }} end
Private Instance Methods
include_fields(fields)
click to toggle source
# File lib/mongoid_embed_finder/projectors/base.rb, line 20 def include_fields(fields) fields.inject({}) do |acc, name| acc.merge(name => 1) end end