     }
 }
 
-extension Path {
+public extension Path {
     var attributes:FileAttributes {
         return FileAttributes(path)
     }
 }
 
-struct FileAttributes {
+public struct FileAttributes {
 
     private let path:String
 


// MARK: -

extension Path {
    func rotate() throws {
        if exists == false {
            return

        return NSURL(fileURLWithPath: path)
    }

    public var exists:Bool {
        return url.checkResourceIsReachableAndReturnError(nil)
    }

    public func getAttributes() throws -> [String : AnyObject] {
        let attributes = try NSFileManager().attributesOfItemAtPath(path)
        return attributes
    }

    public var fileType:FileType! {
        switch try! getAttributes()[NSFileType] as! String {
            case NSFileTypeDirectory:
                return .Directory
