OSDN Git Service

staticプロパティをインスタンスプロパティに変更
[kcd/KCD.git] / KCD / ResourceHistoryDataStore.swift
index 5f8a28a..afbd510 100644 (file)
@@ -7,39 +7,23 @@
 //
 
 import Cocoa
+import Doutaku
 
-extension CoreDataIntormation {
-    static let resourceHistory = CoreDataIntormation("ResourceHistory")
-}
-extension CoreDataCore {
-    static let resourceHistory = CoreDataCore(.resourceHistory)
-}
-
-class ResourceHistoryDataStore: CoreDataAccessor, CoreDataManager {
-    static var `default` = ResourceHistoryDataStore(type: .reader)
-    class func oneTimeEditor() -> ResourceHistoryDataStore {
-        return ResourceHistoryDataStore(type: .editor)
-    }
+final class ResourceHistoryDataStore: CoreDataManager {
+    
+    static let core = CoreDataCore(CoreDataConfiguration("ResourceHistory"))
+    
+    static let `default` = ResourceHistoryDataStore(type: .reader)
     
     required init(type: CoreDataManagerType) {
-        context = (type == .reader ? core.parentContext : core.editorContext())
+        
+        context = ResourceHistoryDataStore.context(for: type)
     }
+    
     deinit {
-        save()
+        
+        save(errorHandler: presentOnMainThread)
     }
     
-    let core = CoreDataCore.resourceHistory
     let context: NSManagedObjectContext
 }
-
-extension ResourceHistoryDataStore {
-    func resources(in minites: [Int], older: Date) -> [Resource] {
-        let p = NSPredicate(format: "minute IN %@ AND date < %@", minites, older as NSDate)
-        guard let resources = try? objects(with: Resource.entity, predicate: p)
-            else { return [] }
-        return resources
-    }
-    func cerateResource() -> Resource? {
-        return insertNewObject(for: Resource.entity)
-    }
-}