Class: Zmanim::Limudim::Calculators::TehillimMonthly
- Inherits:
-
Object
- Object
- Zmanim::Limudim::Calculators::TehillimMonthly
- Includes:
- LimudCalculator
- Defined in:
- lib/zmanim/limudim/calculators/tehillim_monthly.rb
Instance Method Summary collapse
- #cycle_end_calculation ⇒ Object
- #default_units ⇒ Object
- #perpetual_cycle_anchor ⇒ Object
- #tiered_units? ⇒ Boolean
- #unit_for_interval(units, interval) ⇒ Object
Methods included from LimudCalculator
#cycle_units_calculation, #default_starting_page, #find_cycle, #find_offset_units, #fractional_units, #initial_cycle_date, #interval_end_calculation, #limud, #skip_interval?, #skip_unit, #starting_page, #tiered_units_for_interval, #unit_step
Instance Method Details
#cycle_end_calculation ⇒ Object
20 21 22 23 24 |
# File 'lib/zmanim/limudim/calculators/tehillim_monthly.rb', line 20 def cycle_end_calculation ->(start_date, iteration) do perpetual_cycle_anchor.next_occurrence(start_date) - 1 end end |
#default_units ⇒ Object
15 16 17 18 |
# File 'lib/zmanim/limudim/calculators/tehillim_monthly.rb', line 15 def default_units [9,17,22,28,34,38,43,48,54,59,65,68,71,76,78,82,87,89,96,103,105, 107,112,118,119,119,134,139,144,150] end |
#perpetual_cycle_anchor ⇒ Object
11 12 13 |
# File 'lib/zmanim/limudim/calculators/tehillim_monthly.rb', line 11 def perpetual_cycle_anchor Zmanim::Limudim::Anchor::DayOfMonthAnchor.new(1) end |
#tiered_units? ⇒ Boolean
7 8 9 |
# File 'lib/zmanim/limudim/calculators/tehillim_monthly.rb', line 7 def tiered_units? false end |
#unit_for_interval(units, interval) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/zmanim/limudim/calculators/tehillim_monthly.rb', line 26 def unit_for_interval(units, interval) start, stop = case interval.iteration when 1 [1, units[interval.iteration - 1]] when 25 [[119, 1], [119, 30]] when 26 [[119, 40], [119, 400]] else [units[interval.iteration - 2] + 1, units[interval.iteration - 1]] end if interval.end_date.jewish_day == 29 && interval.end_date.days_in_jewish_month == 29 stop = units[interval.iteration] end Zmanim::Limudim::Unit.new(start, stop) end |