Class: RiCal::PropertyValue::RecurrenceRule::ByNumberedDayIncrementer
- Inherits:
-
ListIncrementer
- Object
- OccurrenceIncrementer
- ListIncrementer
- RiCal::PropertyValue::RecurrenceRule::ByNumberedDayIncrementer
- Defined in:
- lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb
Overview
:nodoc:
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from ListIncrementer
#cycle_start, #list, #occurrences, #outer_occurrence
Attributes inherited from OccurrenceIncrementer
#contains_daily_incrementer, #contains_weeknum_incrementer, #current_occurrence, #leaf_iterator, #outer_incrementers, #outer_range, #sub_cycle_incrementer
Instance Method Summary collapse
- #candidate_acceptible?(candidate) ⇒ Boolean
- #daily_incrementer? ⇒ Boolean
- #end_of_occurrence(date_time) ⇒ Object
- #occurrences_for(date_time) ⇒ Object
Methods inherited from ListIncrementer
conditional_incrementer, #cycle_adjust, #first_within_outer_cycle, #get_next_occurrences, #initialize, #next_candidate, #next_cycle, #next_in_list, #occurrences_within
Methods inherited from OccurrenceIncrementer
#add_outer_incrementer, #contains_daily_incrementer?, #contains_weeknum_incrementer?, #first_sub_occurrence, #in_outer_cycle?, #initialize, #next_cycle, #next_time, #outermost?, #short_name, #to_s, #update_cycle_range, #weeknum_incrementer?
Methods included from TimeManipulation
#advance_day, #advance_month, #advance_week, #advance_year, #first_day_of_month, #first_day_of_week, #first_day_of_year, #first_hour_of_day
Constructor Details
This class inherits a constructor from RiCal::PropertyValue::RecurrenceRule::ListIncrementer
Instance Method Details
#candidate_acceptible?(candidate) ⇒ Boolean
471 472 473 |
# File 'lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb', line 471 def candidate_acceptible?(candidate) list.any? {|by_part| by_part.include?(candidate)} end |
#daily_incrementer? ⇒ Boolean
453 454 455 |
# File 'lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb', line 453 def daily_incrementer? true end |
#end_of_occurrence(date_time) ⇒ Object
467 468 469 |
# File 'lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb', line 467 def end_of_occurrence(date_time) date_time.end_of_day end |
#occurrences_for(date_time) ⇒ Object
457 458 459 460 461 462 463 464 465 |
# File 'lib/ri_cal/property_value/recurrence_rule/occurence_incrementer.rb', line 457 def occurrences_for(date_time) if occurrences && @scoping_value == scope_of(date_time) occurrences else @scoping_value = scope_of(date_time) self.occurrences = list.map {|numbered_day| numbered_day.target_date_time_for(date_time)}.uniq.sort occurrences end end |