 env == Environment.custom("staging")
 
 
-
 // FlyConfig
 protocol FlyConfig {
     var environment: Environment { get }


print(app.router.friendlyRouteList)



}


protocol Routable {
    static var method: HTTPMethod { get }
    static var path: String { get }
    static var actions: [Routable.Type] { get }
}

extension Routable {
    static var method: HTTPMethod { return .GET }
    static var actions: [Routable.Type] { return [] }

    static func matchesPath(path: String) -> Bool {
        return self.path.containsString(path)
    }
}

class SomeController: Routable {
    static var path = "posts"
    static var actions: [Routable.Type] = [New.self, Create.self]

    class New: Routable {
        static var path = "new"
    }
    class Create: Routable {
        static var path = "create"
        static var method = HTTPMethod.POST
    }
}

SomeController.path
SomeController.Create.path

//let test = [SomeController.self].flatMap { $0 as? Routable.Type }
//test

//let mirror = Mirror(reflecting: SomeController.self)
//mirror.children

SomeController.matchesPath("/posts/:id/create")


class UserController {
    class func createUser(request: FlyRequest, response: FlyResponse) -> FlyResponse {
        var response = response
        response.body = "Creating a new user!"
