Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.13 KB | None | 0 0
  1.       event_start = e.start_datetime
  2.       event_end = e.end_datetime
  3.       stats[i][:starts] += 1
  4.      
  5.       stats.drop(i).each do |r|
  6.         next if event_start >= event_end
  7.  
  8.         event_exceeds_reading = event_end > (r[:datetime] + group_by_interval)
  9.         event_preceeds_reading = event_start < r[:datetime]
  10.         runtime = 0
  11.  
  12.         if(event_preceeds_reading)
  13.           runtime = r[:datetime] - event_start
  14.         elsif(event_exceeds_reading)
  15.           runtime = (r[:datetime] + group_by_interval) - event_start
  16.         else
  17.           runtime = event_end - event_start
  18.         end
  19.  
  20.         r[:runtime] += (runtime / 60).round
  21.         event_start += runtime
  22.       end
  23.  
  24.  
  25. #VS
  26.       event_start = e.start_datetime
  27.       event_end = e.end_datetime
  28.       stats[i][:starts] += 1
  29.      
  30.       stats.drop(i).each do |r|
  31.         start_t = event_start < r[:datetime] ? r[:datetime] : event_start
  32.         end_t = event_end > (r[:datetime] + group_by_interval) ? r[:datetime] + group_by_interval : event_end
  33.         runtime = end_t - start_t
  34.         r[:runtime] += (runtime / 60).round if runtime >= 0      
  35.       end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement