Skip to content

Commit c495f64

Browse files
Roman KyrylenkoRoman Kyrylenko
Roman Kyrylenko
authored and
Roman Kyrylenko
committed
added parameters to CoreDataDBClient’s constructor;
1 parent f62dd6c commit c495f64

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Source/CoreData/CoreDataDBClient.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,27 +53,29 @@ extension NSManagedObject: Stored {}
5353
*/
5454
public class CoreDataDBClient {
5555

56-
public static let modelName = "CoreData"
56+
private var modelName: String
57+
private var bundle: Bundle
5758

58-
public init() {
59+
public init(forModel modelName: String = "CoreData", in bundle: Bundle = Bundle.main) {
60+
self.modelName = modelName
61+
self.bundle = bundle
5962
}
6063

6164
// MARK: - CoreData stack
6265

6366
fileprivate lazy var applicationDocumentsDirectory: URL = {
6467
let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
65-
return urls[urls.count-1]
68+
return urls[urls.count - 1]
6669
}()
6770

6871
fileprivate lazy var managedObjectModel: NSManagedObjectModel = {
69-
let bundle = Bundle(for: type(of: self))
70-
let modelURL = bundle.url(forResource: CoreDataDBClient.modelName, withExtension: "momd")!
72+
let modelURL = self.bundle.url(forResource: self.modelName, withExtension: "momd")!
7173
return NSManagedObjectModel(contentsOf: modelURL)!
7274
}()
7375

7476
fileprivate lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator = {
7577
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
76-
let url = self.applicationDocumentsDirectory.appendingPathComponent("\(CoreDataDBClient.modelName).sqlite")
78+
let url = self.applicationDocumentsDirectory.appendingPathComponent("\(self.modelName).sqlite")
7779
do {
7880
try coordinator.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: url, options: nil)
7981
} catch {

0 commit comments

Comments
 (0)