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?



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

def all_day
  return unless dtstart.present?
  return unless dtend.present?

  @all_day ||= dtstart == dtstart.beginning_of_day && dtend == dtend.end_of_day
end

#all_day=(val) ⇒ Object



48
49
50
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 48

def all_day=(val)
  @all_day = [true, 'true', 1, '1'].include?(val)
end

#recurring?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 52

def recurring?
  schedule.present?
end

#schedule_dtendObject



56
57
58
# File 'lib/mongoid_occurrence_views/event/occurrence.rb', line 56

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