Tighten up happening now
This commit is contained in:
parent
7549d2793c
commit
01612a73cf
1 changed files with 4 additions and 5 deletions
|
|
@ -34,18 +34,17 @@ class EventSchedule < ApplicationRecord
|
||||||
##
|
##
|
||||||
# True within `threshold` before and after the event.
|
# 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_start = start_time.in_time_zone(timezone)
|
||||||
in_tz_end = end_time.in_time_zone(timezone)
|
in_tz_end = end_time.in_time_zone(timezone)
|
||||||
in_tz_start -= in_tz_start.utc_offset
|
in_tz_start -= in_tz_start.utc_offset
|
||||||
in_tz_end -= in_tz_end.utc_offset
|
in_tz_end -= in_tz_end.utc_offset
|
||||||
begin_range = Time.now - threshold
|
begin_range = Time.now - threshold
|
||||||
end_range = Time.now + threshold + 1.minute # The range is exclusive.
|
end_range = Time.now + threshold
|
||||||
# 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')
|
|
||||||
event_time_range = in_tz_start..in_tz_end
|
event_time_range = in_tz_start..in_tz_end
|
||||||
now_range = begin_range..end_range
|
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
|
end
|
||||||
|
|
||||||
def self.withdrawn_or_canceled_event_schedules(schedule_ids)
|
def self.withdrawn_or_canceled_event_schedules(schedule_ids)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue