class MongoidOccurrenceViews::Event::CreateExpandedOccurrencesView

Public Instance Methods

pipeline() click to toggle source
# File lib/mongoid_occurrence_views/event/create_expanded_occurrences_view.rb, line 8
def pipeline
  [add_fields,
   unwind_associations_to_parent,
   add_datetime_fields].flatten
end
view_name() click to toggle source
# File lib/mongoid_occurrence_views/event/create_expanded_occurrences_view.rb, line 4
def view_name
  klass.expanded_occurrences_view_name
end

Private Instance Methods

add_datetime_fields() click to toggle source
# File lib/mongoid_occurrence_views/event/create_expanded_occurrences_view.rb, line 26
def add_datetime_fields
  { '$addFields': {
    '_dtstart': "$_#{occurrence_relations_chained.last}.ds",
    '_dtend': "$_#{occurrence_relations_chained.last}.de",
  } }
end
add_fields() click to toggle source
# File lib/mongoid_occurrence_views/event/create_expanded_occurrences_view.rb, line 16
def add_fields
  { '$addFields': { "_#{occurrence_relation_chain.first}": "$#{occurrence_relation_chain.first}" } }
end
unwind_associations_to_parent() click to toggle source
# File lib/mongoid_occurrence_views/event/create_expanded_occurrences_view.rb, line 20
def unwind_associations_to_parent
  occurrence_relations_chained.map do |chain|
    { '$unwind': "$_#{chain}" }
  end
end