Slide 12
Slide 12 text
public enum Router {
case GetProfile
case GetMessages(topicId: TopicID, count: Int?)
case PostMessage(topicId: TopicID, message: String, replyTo: Int?)
public var method: String {
switch self {
case .GetProfile: return "GET"
case .GetMessages: return "GET"
case .PostMessage: return "POST"
}
}
public var path: String {
switch self {
case .GetProfile: return "profile"
case .GetMessages(let (topicId, _)): return "topics/\(topicId)"
case .PostMessage(let (topicId, _, _)): return "topics/\(topicId)"
}
}
public var params: [String: AnyObject] {
switch self {
case .GetProfile:
return [:]
case .GetMessages(let (_, count)):
var p: [String: AnyObject] = [:]
count.map { p["count"] = $0.toJSON() }
return p
case .PostMessage(let (_, message, replyTo)):
var p: [String: AnyObject] = ["message": message.toJSON()]
replyTo.map { p["replyTo"] = $0.toJSON() }
return p
}
}
}