class MongoidOccurrenceViews::Event::CreateOccurrencesOrderingView
Public Instance Methods
pipeline()
click to toggle source
# File lib/mongoid_occurrence_views/event/create_occurrences_ordering_view.rb, line 8 def pipeline [add_fields].flatten end
view_name()
click to toggle source
# File lib/mongoid_occurrence_views/event/create_occurrences_ordering_view.rb, line 4 def view_name klass.occurrences_ordering_view_name end
Private Instance Methods
add_fields()
click to toggle source
# File lib/mongoid_occurrence_views/event/create_occurrences_ordering_view.rb, line 14 def add_fields { '$addFields': { '_dtstart': order_dtstart_field, '_dtend': order_dtend_field } } end
order_dtend_field()
click to toggle source
# File lib/mongoid_occurrence_views/event/create_occurrences_ordering_view.rb, line 24 def order_dtend_field max = "$#{occurrence_relations_chained.last}.de" occurrence_relations_chained.length.times { max = { '$max': max } } max end
order_dtstart_field()
click to toggle source
# File lib/mongoid_occurrence_views/event/create_occurrences_ordering_view.rb, line 18 def order_dtstart_field min = "$#{occurrence_relations_chained.last}.ds" occurrence_relations_chained.length.times { min = { '$min': min } } min end