Tighten up happening now

This commit is contained in:
Michael Ball 2020-07-31 12:24:25 -07:00
parent 7549d2793c
commit 01612a73cf

View file

@ -34,18 +34,17 @@ class EventSchedule < ApplicationRecord
##
# True within `threshold` before and after the event.
#
def happening_now?(threshold=30.minutes)
def happening_now?(threshold = 30.minutes)
in_tz_start = start_time.in_time_zone(timezone)
in_tz_end = end_time.in_time_zone(timezone)
in_tz_start -= in_tz_start.utc_offset
in_tz_end -= in_tz_end.utc_offset
begin_range = Time.now - threshold
end_range = Time.now + threshold + 1.minute # The range is exclusive.
# event_time_range = in_tz_start.strftime('%Y-%m-%d %H:%M')..in_tz_end.strftime('%Y-%m-%d %H:%M')
# now_range = begin_range.strftime('%Y-%m-%d %H:%M')..end_range.strftime('%Y-%m-%d %H:%M')
end_range = Time.now + threshold
event_time_range = in_tz_start..in_tz_end
now_range = begin_range..end_range
event_time_range.overlaps?(now_range) # || (begin_range..end_range).cover?(in_tz_end)
# TODO: There's probably better logic.
event_time_range.overlaps?(now_range) && (in_tz_end > Time.now)
end
def self.withdrawn_or_canceled_event_schedules(schedule_ids)