Module: Icalendar::Recurrence

Defined in:
lib/icalendar/recurrence.rb,
lib/icalendar/recurrence/version.rb,
lib/icalendar/recurrence/schedule.rb,
lib/icalendar/recurrence/time_util.rb,
lib/icalendar/recurrence/event_extensions.rb,
lib/icalendar/recurrence/weekday_extensions.rb

Defined Under Namespace

Modules: EventExtensions, TimeExtensions, TimeUtil, WeekdayExtensions Classes: Occurrence, Schedule

Constant Summary collapse

VERSION =
"1.1.0"

Instance Method Summary collapse

Instance Method Details

#convert_duration_to_seconds(ical_duration) ⇒ Object



87
88
89
90
91
92
93
# File 'lib/icalendar/recurrence/schedule.rb', line 87

def convert_duration_to_seconds(ical_duration)
  return 0 unless ical_duration

  conversion_rates = { seconds: 1, minutes: 60, hours: 3600, days: 86400, weeks: 604800 }
  seconds = conversion_rates.inject(0) { |sum, (unit, multiplier)| sum + ical_duration[unit] * multiplier }
  seconds * (ical_duration.past ? -1 : 1)
end