Last active
March 9, 2016 22:18
-
-
Save initFabian/92c8cd6716e03e231a8a to your computer and use it in GitHub Desktop.
Chainable URL String
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Chainable Url String example | |
* Run in Playground | |
*/ | |
private var baseURL = "www.example.com" | |
struct AppURL { | |
struct User: CustomStringConvertible { | |
private var userID:String | |
private var url:String | |
var Address:String | |
var Order:String | |
init(_ uID:String) { | |
userID = uID | |
url = baseURL+"/users/\(userID)" | |
Address = url+"/address" | |
Order = url+"/orders" | |
} | |
var description: String { return url } | |
} | |
} | |
let getUserAddress = AppURL.User("21").Address | |
let postOrder = AppURL.User("21").Order | |
// How Im currently doing it. | |
let getOrder = AppURL.User("21").Order + "/22" | |
let cancelOrder = AppURL.User("21").Order + "/22" + "/cancel" | |
let example1 = AppURL.User("21").Order("22") // I want it to return "www.example.com/users/21/orders/22" | |
let example2 = AppURL.User("21").Order("22").cancel // I want it to return "www.example.com/users/21/orders/22/cancel" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment