Advertisement
Guest User

Untitled

a guest
Sep 19th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.32 KB | None | 0 0
  1. private func makeAnalyticsEventOnRidesUpdated(with taxiRidesCount: Int, upcomingRidesCount: Int) -> AnalyticsEvent? {
  2.         guard shouldMakeLandingRidesViewAnalyticsEvent == false else {
  3.             shouldMakeLandingRidesViewAnalyticsEvent = false
  4.             return .landingRidesView(numTaxiCards: taxiRidesCount, numRideCards: upcomingRidesCount)
  5.         }
  6.  
  7.         let lastRideCounts: (Int, Int)
  8.        
  9.         switch lastLoggedRidesUpdatedEvent {
  10.         case .landingRidesView(let numTaxiCards, let numRideCards),
  11.              .rideCardsUpdated(let numTaxiCards, let numRideCards):
  12.             lastRideCounts = (numTaxiCards, numRideCards)
  13.         default: lastRideCounts = (-1, -1)
  14.         }
  15.  
  16.         guard lastRideCounts != (taxiRidesCount, upcomingRidesCount) else { return nil }
  17.  
  18.         return .rideCardsUpdated(numTaxiCards: taxiRidesCount, numRideCards: upcomingRidesCount)
  19.     }
  20.  
  21.     private func logAnalyticsEventOnRidesUpdated(with taxiRidesCount: Int, upcomingRidesCount: Int) {
  22.         guard let newAnalyticsEvent = makeAnalyticsEventOnRidesUpdated(with: taxiRidesCount,
  23.                                                          upcomingRidesCount: upcomingRidesCount) else { return }
  24.  
  25.         analyticsManager.log(event: newAnalyticsEvent)
  26.         lastLoggedRidesUpdatedEvent = newAnalyticsEvent
  27.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement