module MongoidOccurrences::Occurrence::HasSchedule
Constants
- SCHEDULE_DURATION
Public Instance Methods
recurrence_rule()
click to toggle source
# File lib/mongoid_occurrences/occurrence/has_schedule.rb, line 28 def recurrence_rule schedule&.recurrence_rules&.first end
recurrence_rule=(value)
click to toggle source
# File lib/mongoid_occurrences/occurrence/has_schedule.rb, line 32 def recurrence_rule=(value) case value when NilClass, 'null' @recurrence_rule = nil self.schedule = nil else @recurrence_rule = IceCube::Rule.from_hash(JSON.parse(value)) self.schedule = IceCube::Schedule.new(schedule_dtstart) { |s| s.add_recurrence_rule(@recurrence_rule) } end end
recurring?()
click to toggle source
# File lib/mongoid_occurrences/occurrence/has_schedule.rb, line 43 def recurring? schedule.present? end
schedule_dtend()
click to toggle source
# File lib/mongoid_occurrences/occurrence/has_schedule.rb, line 23 def schedule_dtend read_attribute(:schedule_dtend) || (schedule_dtstart + SCHEDULE_DURATION) end
schedule_dtstart()
click to toggle source
# File lib/mongoid_occurrences/occurrence/has_schedule.rb, line 18 def schedule_dtstart read_attribute(:schedule_dtstart) || (dtstart.try(:to_time) || Time.zone.now) end
Private Instance Methods
nil_schedule()
click to toggle source
# File lib/mongoid_occurrences/occurrence/has_schedule.rb, line 49 def nil_schedule self.schedule = nil end