Module: MongoidOccurrenceViews::Event::HasOccurrenceScopes

Defined in:
lib/mongoid_occurrence_views/event/has_occurrence_scopes.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/mongoid_occurrence_views/event/has_occurrence_scopes.rb', line 4

def self.included(base)
  base.extend ClassMethods
  base.class_eval do
    scope :occurs_between, ->(dtstart, dtend, dtstart_field = dtstart_query_field, dtend_field = dtend_query_field) { MongoidOccurrenceViews::Queries::OccursBetween.criteria(criteria, dtstart, dtend, dtstart_field: dtstart_field, dtend_field: dtend_field) }
    scope :occurs_from, ->(date_time, dtstart_field = dtstart_query_field) { MongoidOccurrenceViews::Queries::OccursFrom.criteria(criteria, date_time, dtstart_field: dtstart_field) }
    scope :occurs_on, -> (date_time, dtstart_field = dtstart_query_field, dtend_field = dtend_query_field) { MongoidOccurrenceViews::Queries::OccursOn.criteria(criteria, date_time, dtstart_field: dtstart_field, dtend_field: dtend_field) }
    scope :occurs_until, ->(date_time, dtend_field = dtend_query_field) { MongoidOccurrenceViews::Queries::OccursUntil.criteria(criteria, date_time, dtend_field: dtend_field) }

    scope :order_by_start, ->(order = :asc, dtstart_field = dtstart_query_field) { MongoidOccurrenceViews::Queries::OrderByStart.criteria(criteria, order, dtstart_field: dtstart_field) }
    scope :order_by_end, ->(order = :asc, dtend_field = dtend_query_field) { MongoidOccurrenceViews::Queries::OrderByEnd.criteria(criteria, order, dtend_field: dtend_field) }
  end
end