Class: Availability::AvailabilityCalculator
- Inherits:
-
Object
- Object
- Availability::AvailabilityCalculator
- Defined in:
- lib/availability/availability_calculator.rb
Overview
Subtracts merged busy periods from configured per-day availability windows.
Instance Method Summary collapse
- #calculate(start_date:, busy_periods:) ⇒ Object
-
#initialize(config) ⇒ AvailabilityCalculator
constructor
A new instance of AvailabilityCalculator.
Constructor Details
#initialize(config) ⇒ AvailabilityCalculator
Returns a new instance of AvailabilityCalculator.
6 7 8 |
# File 'lib/availability/availability_calculator.rb', line 6 def initialize(config) @config = config end |
Instance Method Details
#calculate(start_date:, busy_periods:) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/availability/availability_calculator.rb', line 10 def calculate(start_date:, busy_periods:) = busy_periods.map { |period| apply_buffer(period) } Array.new(@config.days_to_show) do |offset| date = start_date + offset DayAvailability.new(date, available_slots(date, )) end end |