Class: MongoidOccurrenceViews::Queries::OccursBetween

Inherits:
Query
  • Object
show all
Defined in:
lib/mongoid_occurrence_views/queries/occurs_between.rb

Instance Method Summary collapse

Methods inherited from Query

criteria

Constructor Details

#initialize(base_criteria, dtstart, dtend, options = {}) ⇒ OccursBetween

Returns a new instance of OccursBetween.



4
5
6
7
8
9
10
# File 'lib/mongoid_occurrence_views/queries/occurs_between.rb', line 4

def initialize(base_criteria, dtstart, dtend, options = {})
  @base_criteria = base_criteria
  @dtstart = dtstart
  @dtend = dtend
  @dtstart_field = options.fetch(:dtstart_field)
  @dtend_field = options.fetch(:dtend_field)
end

Instance Method Details

#criteriaObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/mongoid_occurrence_views/queries/occurs_between.rb', line 12

def criteria
  _dtstart = dtstart.beginning_of_day if dtstart.instance_of?(Date)
  _dtstart = dtstart.utc

  _dtend = dtend.end_of_day if dtend.instance_of?(Date)
  _dtend = dtend.utc

  base_criteria.lte(dtstart_field => dtend.to_datetime)
                     .gte(dtend_field => dtstart.to_datetime)
end