Sha256: f1fff0347d51dba1d9b265de4b28c1726bf0e3ccae4e67abadcc193c1a4e9322
Contents?: true
Size: 602 Bytes
Versions: 3
Compression:
Stored size: 602 Bytes
Contents
# frozen_string_literal: true require "active_support/core_ext/time" module SuperSpreader class PeakSchedule def initialize(on_peak_wday_range:, on_peak_hour_range:, timezone:) @on_peak_wday_range = on_peak_wday_range @on_peak_hour_range = on_peak_hour_range @timezone = timezone end def on_peak?(time = Time.current) time_in_zone = time.in_time_zone(@timezone) is_on_peak_day = @on_peak_wday_range.cover?(time_in_zone.wday) is_on_peak_hour = @on_peak_hour_range.cover?(time_in_zone.hour) is_on_peak_day && is_on_peak_hour end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
super_spreader-0.2.1 | lib/super_spreader/peak_schedule.rb |
super_spreader-0.2.0 | lib/super_spreader/peak_schedule.rb |
super_spreader-0.1.0.beta2 | lib/super_spreader/peak_schedule.rb |