diff --git a/app/services/interactors/match_live_times.rb b/app/services/interactors/match_live_times.rb index a2febba09..b481cc1b9 100644 --- a/app/services/interactors/match_live_times.rb +++ b/app/services/interactors/match_live_times.rb @@ -30,7 +30,7 @@ def perform! attr_reader :event, :live_times, :errors, :resources def match_live_time_to_split_time(live_time) - split_time = live_time.absolute_time && event.split_times.where(match_attributes(live_time)).find { |st| st.day_and_time == live_time.absolute_time } + split_time = matching_split_time(live_time) if split_time live_time.update(split_time: split_time) matched_live_times << live_time @@ -39,6 +39,12 @@ def match_live_time_to_split_time(live_time) end end + def matching_split_time(live_time) + live_time.absolute_time && + !live_time.matched? && + event.split_times.where(match_attributes(live_time)).find { |st| st.day_and_time == live_time.absolute_time } + end + def match_attributes(live_time) attributes = {split: live_time.split, bitkey: live_time.bitkey} attributes[:pacer] = live_time.with_pacer unless live_time.with_pacer.nil?