MetroTransitKit
A Swift wrapper for the Twin Cities Metro Transit REST API.
Getting Started
Add MetroTransitKit to your project either through the Xcode UI, or through the process below for Swift Packages
let package = Package(
// ... Other Package.swift stuff goes here
dependencies: [
.package(url: "https://github.com/JacobHearst/MetroTransitKit", from: "1.0.0"), // Add the library to your manifest
],
targets: [
.target(name: "MyPackage", dependencies: ["MetroTransitKit"]), // Add it to your target's dependencies
]
)
Example
import MetroTransitKit
let client = MetroTransitClient()
// Retrieve information about the vehicles driving route 901
client.getVehicles(routeID: "901") { result in
switch result {
case .success(let vehicles):
print(vehicles[0].tripID)
case .failure(let error):
print("Received error: \(error)")
}
}
Network Logging
The MetroTransitClient has a configurable level of network logging with two options: minimal and verbose. Enabling verbose logging will print the HTTP body of each request and response. Minimal logging will log that a request was made (and the URL it’s made to) as well as that a response was received.
Contributing
Contributions are always welcome, simply fork this repo, make and test your changes, and then open a pull request. I will try and review it within a reasonable amount of time.