Module: MongoidOccurrenceViews::Event::Occurrence

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

Defined Under Namespace

Modules: ClassMethods Classes: DailyOccurrence

Constant Summary collapse

SCHEDULE_DURATION =
1.year

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 6

def self.included(base)
  base.include MongoidOccurrenceViews::Event::HasOccurrenceScopes
  base.extend ClassMethods
end

Instance Method Details

#all_dayObject Also known as: all_day?



41
42
43
44
45
46
47
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 41

def all_day
  return super unless dtstart.present? && dtend.present?
  return super unless super.nil?

  dtstart.to_i == dtstart.beginning_of_day.to_i &&
    dtend.to_i == dtend.end_of_day.to_i
end

#recurring?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 50

def recurring?
  schedule.present?
end

#schedule_dtendObject



54
55
56
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 54

def schedule_dtend
  read_attribute(:schedule_dtend) || (dtstart.try(:to_time) || Time.now) + SCHEDULE_DURATION
end