Method: Availability::AbstractAvailability#initialize

Defined in:
lib/availability/abstract_availability.rb

#initialize(capacity: Float::INFINITY, exclusions: nil, stops_by: nil, duration:, interval:, start_time:) ⇒ AbstractAvailability

Required arguments: Optional arguements:

Parameters:

  • interval (Fixnum)

    an integer that is the interval of occurrences per frequency

  • start_time (Time)

    a Time, Date, or DateTime that indicates when the availability begins

  • duration (Fixnum)

    an integer indicating how long the availability lasts in seconds

  • stops_by (Time) (defaults to: nil)

    specific Date, Time, or DateTime by which the availability ends

Raises:

  • (ArgumentError)


18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/availability/abstract_availability.rb', line 18

def initialize(capacity: Float::INFINITY, exclusions: nil, stops_by: nil, duration: , interval: , start_time: )
  raise ArgumentError, "start_time is required" if start_time.nil?
  raise ArgumentError, "duration is required" if duration.nil?
  raise ArgumentError, "interval is required" if interval.nil?
  @capacity = capacity
  @duration = duration
  @interval = interval
  @start_time = start_time.to_time
  @stops_by = stops_by
  self.exclusions = exclusions
  compute_residue
end