Sha256: 1f5c533287073febdb309c7ba48164ba564b13a1f3aae441b42043e0f2c812ba

Contents?: true

Size: 737 Bytes

Versions: 1

Compression:

Stored size: 737 Bytes

Contents

module RiCal
  class PropertyValue
    class RecurrenceRule < PropertyValue
      class OccurrenceIncrementer # :nodoc:
        class MonthlyIncrementer < FrequencyIncrementer #:nodoc:

          def self.for_rrule(rrule)
            conditional_incrementer(rrule, "MONTHLY", ByWeekNoIncrementer)
          end

          def advance_what
            :months
          end

          def step(date_time)
            if contains_daily_incrementer?
              result = super(date_time).change(:day => 1)
              result
            else
              super(date_time)
            end
          end

          def end_of_occurrence(date_time)
            date_time.end_of_month
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
friflaj_ri_cal-0.9.0 lib/ri_cal/property_value/recurrence_rule/occurrence_incrementer/monthly_incrementer.rb