Skip to content

Instantly share code, notes, and snippets.

@djds23
Created February 4, 2019 15:27
Show Gist options
  • Save djds23/858312985033f952f68738ad2ee8a7b7 to your computer and use it in GitHub Desktop.
Save djds23/858312985033f952f68738ad2ee8a7b7 to your computer and use it in GitHub Desktop.
class TrainDepartureService {
func departureTimes(forLine: TrainLine, departingFrom: TrainStation) -> Observable<Date> {
return Observable<TimeInterval>.timer(0, period: 60, scheduler: scheduler)
.flatMapLatest { _ -> Observable<Date> in
network.departureTime(forLine: forLine, departingFrom: departingFrom)
}
}
private let scheduler: SchedulerType
private let network: TrainNetworkHandler
init(
scheduler: SchedulerType,
network: TrainNetworkHandler
) {
self.scheduler = scheduler
self.network = network
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment