Skip to content

Commit c467b84

Browse files
committed
Merge pull request #62 from cgoldsby/issue_61_defaultDirectoryURL
Refactored DocumentsDirectoryURL. close #61
2 parents b0e2d44 + b564b49 commit c467b84

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

Source/CoreDataModel.swift

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public struct CoreDataModel: CustomStringConvertible, Equatable {
117117

118118
- returns: A new `CoreDataModel` instance.
119119
*/
120-
public init(name: String, bundle: NSBundle = .mainBundle(), storeType: StoreType = .SQLite(DocumentsDirectoryURL())) {
120+
public init(name: String, bundle: NSBundle = .mainBundle(), storeType: StoreType = .SQLite(DefaultDirectoryURL())) {
121121
self.name = name
122122
self.bundle = bundle
123123
self.storeType = storeType
@@ -154,15 +154,21 @@ public struct CoreDataModel: CustomStringConvertible, Equatable {
154154

155155
// MARK: Internal
156156

157-
internal func DocumentsDirectoryURL() -> NSURL {
157+
internal func DefaultDirectoryURL() -> NSURL {
158158
do {
159+
#if os(tvOS)
160+
let searchPathDirectory = NSSearchPathDirectory.CachesDirectory
161+
#else
162+
let searchPathDirectory = NSSearchPathDirectory.DocumentDirectory
163+
#endif
164+
159165
return try NSFileManager.defaultManager().URLForDirectory(
160-
.DocumentDirectory,
166+
searchPathDirectory,
161167
inDomain: .UserDomainMask,
162168
appropriateForURL: nil,
163169
create: true)
164170
}
165171
catch {
166-
fatalError("*** Error finding documents directory: \(error)")
172+
fatalError("*** Error finding default directory: \(error)")
167173
}
168174
}

Tests/ModelTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class ModelTests: XCTestCase {
4646
// THEN: the model has the correct name, bundle, and type
4747
XCTAssertEqual(model.name, modelName)
4848
XCTAssertEqual(model.bundle, modelBundle)
49-
XCTAssertEqual(model.storeType, StoreType.SQLite(DocumentsDirectoryURL()))
49+
XCTAssertEqual(model.storeType, StoreType.SQLite(DefaultDirectoryURL()))
5050

5151
// THEN: the model returns the correct database filename
5252
XCTAssertEqual(model.databaseFileName, model.name + ".sqlite")

Tests/StackResultTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class StackResultTests: TestCase {
5050
let success2 = CoreDataStackResult.Success(inMemoryStack)
5151
XCTAssertEqual(success1, success2)
5252

53-
let model = CoreDataModel(name: modelName, bundle: modelBundle, storeType: .SQLite(DocumentsDirectoryURL()))
53+
let model = CoreDataModel(name: modelName, bundle: modelBundle, storeType: .SQLite(DefaultDirectoryURL()))
5454
let factory = CoreDataStackFactory(model: model)
5555
let result = factory.createStack()
5656
let stack = result.stack()!

Tests/StoreTypeTests.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ import JSQCoreDataKit
2828
class StoreTypeTests: XCTestCase {
2929

3030
func test_StoreType_SQLite() {
31-
let url = DocumentsDirectoryURL()
31+
let url = DefaultDirectoryURL()
3232

3333
let s = StoreType.SQLite(url)
3434
XCTAssertEqual(s.type, NSSQLiteStoreType)
3535
XCTAssertEqual(s.storeDirectory(), url)
3636
}
3737

3838
func test_StoreType_Binary() {
39-
let url = DocumentsDirectoryURL()
39+
let url = DefaultDirectoryURL()
4040

4141
let s = StoreType.Binary(url)
4242
XCTAssertEqual(s.type, NSBinaryStoreType)
@@ -50,7 +50,7 @@ class StoreTypeTests: XCTestCase {
5050
}
5151

5252
func test_StoreType_Equality() {
53-
let url = DocumentsDirectoryURL()
53+
let url = DefaultDirectoryURL()
5454

5555
let sqlite = StoreType.SQLite(url)
5656
let binary = StoreType.Binary(url)
@@ -62,7 +62,7 @@ class StoreTypeTests: XCTestCase {
6262
}
6363

6464
func test_StoreType_Equality_SQLite() {
65-
let url = DocumentsDirectoryURL()
65+
let url = DefaultDirectoryURL()
6666

6767
let sqlite1 = StoreType.SQLite(url)
6868
let sqlite2 = StoreType.SQLite(url)
@@ -73,7 +73,7 @@ class StoreTypeTests: XCTestCase {
7373
}
7474

7575
func test_StoreType_Equality_Binary() {
76-
let url = DocumentsDirectoryURL()
76+
let url = DefaultDirectoryURL()
7777

7878
let binary1 = StoreType.Binary(url)
7979
let binary2 = StoreType.Binary(url)
@@ -91,7 +91,7 @@ class StoreTypeTests: XCTestCase {
9191

9292
func test_StoreType_Description() {
9393
print("\(__FUNCTION__)")
94-
let url = DocumentsDirectoryURL()
94+
let url = DefaultDirectoryURL()
9595

9696
let sqlite = StoreType.SQLite(url)
9797
print(sqlite)

0 commit comments

Comments
 (0)