Sha256: b11f4b2b04d75521ea715d62ae543f59de7d1737714ba4a7f0e393468f42c62c
Contents?: true
Size: 1.58 KB
Versions: 14
Compression:
Stored size: 1.58 KB
Contents
module RiCal class PropertyValue class RecurrenceRule < PropertyValue #- ©2009 Rick DeNatale, All rights reserved. Refer to the file README.txt for the license # class OccurrenceIncrementer # :nodoc: class YearlyIncrementer < FrequencyIncrementer #:nodoc: attr_reader :wkst def initialize(rrule, sub_cycle_incrementer) @wkst = rrule.wkst_day super(rrule, sub_cycle_incrementer) end def self.from_rrule(rrule, start_time) conditional_incrementer(rrule, "YEARLY", ByMonthIncrementer) end def advance_what :years end def step(date_time) if contains_weeknum_incrementer? result = date_time multiplier.times do result = result.at_start_of_next_iso_year(wkst) end result else super(date_time) end end def start_of_cycle(date_time) if contains_weeknum_incrementer? date_time.at_start_of_iso_year(wkst) elsif contains_daily_incrementer? date_time.change(:month => 1, :day => 1) else date_time.change(:month => 1) end end def end_of_occurrence(date_time) if contains_weeknum_incrementer? date_time.end_of_iso_year(wkst) else date_time.end_of_year end end end end end end end
Version data entries
14 entries across 14 versions & 7 rubygems