Skip to content

Commit 3dd552d

Browse files
authored
Merge pull request #152 from IntrepidPursuits/bobgilmore/directory-manager-search-paths
Allow DirectoryManager to use search paths other than "Documents"
2 parents 133bc57 + aa0ef8f commit 3dd552d

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

Intrepid.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "Intrepid"
3-
s.version = "0.10.0"
3+
s.version = "0.10.1"
44
s.summary = "Swift Bag"
55
s.description = <<-DESC
66
Collection of extensions and utility classes by and for the developers at Intrepid Pursuits.

SwiftWisdom/Core/DirectoryManager/DirectoryManager.swift

+6-4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public final class DirectoryManager {
1616
}
1717

1818
private let directoryName: String
19+
private let directoryParentPath: FileManager.SearchPathDirectory
1920
private let fileManager: FileManager
2021
private let directoryUrl: NSURL
2122

@@ -30,11 +31,12 @@ public final class DirectoryManager {
3031
// MARK: Initializer
3132

3233
// swiftlint:disable force_try
33-
public init(directoryName: String, fileManager: FileManager = FileManager.default) {
34+
public init(directoryName: String, directoryParentPath: FileManager.SearchPathDirectory = .documentDirectory, fileManager: FileManager = FileManager.default) {
3435
self.directoryName = directoryName
36+
self.directoryParentPath = directoryParentPath
3537
self.fileManager = fileManager
3638
// Should fail if not available
37-
self.directoryUrl = try! fileManager.directoryPath(withName: directoryName)
39+
self.directoryUrl = try! fileManager.directoryPath(withSearchPathDirectory: directoryParentPath, name: directoryName)
3840
}
3941
// swiftlint:enable force_try
4042

@@ -86,8 +88,8 @@ public final class DirectoryManager {
8688
}
8789

8890
extension FileManager {
89-
fileprivate func directoryPath(withName directoryName: String) throws -> NSURL {
90-
let pathsArray = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
91+
fileprivate func directoryPath(withSearchPathDirectory searchPathDirectory: SearchPathDirectory, name directoryName: String) throws -> NSURL {
92+
let pathsArray = NSSearchPathForDirectoriesInDomains(searchPathDirectory, .userDomainMask, true)
9193
guard let pathString = pathsArray.first else { fatalError("Unable to create directory") }
9294
guard let documentsDirectoryPath = NSURL(string: pathString) else {
9395
throw DirectoryManager.DirectoryError.unableToFindDirectory(name: directoryName)

0 commit comments

Comments
 (0)