OSDN Git Service

不要となっていたプロパティを削除
[kcd/KCD.git] / KCD / TemporaryDataStore.swift
index 303fa56..6a6220c 100644 (file)
@@ -7,27 +7,17 @@
 //
 
 import Cocoa
+import Doutaku
 
-extension CoreDataConfiguration {
+final class TemporaryDataStore: CoreDataManager {
     
-    static let temporary = CoreDataConfiguration("Temporary",
-                                                 fileName: ":memory:",
-                                                 options: [:],
-                                                 type: NSInMemoryStoreType
-    )
-}
-
-final class TemporaryDataStore: CoreDataAccessor, CoreDataManager {
-    
-    static let core = CoreDataCore(.temporary)
+    static let core = CoreDataCore(CoreDataConfiguration("Temporary",
+                                                         fileName: ":memory:",
+                                                         options: [:],
+                                                         type: NSInMemoryStoreType))
     
     static let `default` = TemporaryDataStore(type: .reader)
     
-    class func oneTimeEditor() -> TemporaryDataStore {
-        
-        return TemporaryDataStore(type: .editor)
-    }
-    
     required init(type: CoreDataManagerType) {
         
         context = TemporaryDataStore.context(for: type)
@@ -35,84 +25,8 @@ final class TemporaryDataStore: CoreDataAccessor, CoreDataManager {
     
     deinit {
         
-        save()
+        save(errorHandler: presentOnMainThread)
     }
     
     let context: NSManagedObjectContext
 }
-
-extension TemporaryDataStore {
-    
-    func battle() -> Battle? {
-        
-        return battles().first
-    }
-    
-    func battles() -> [Battle] {
-        
-        guard let battles = try? self.objects(of: Battle.entity) else { return [] }
-        
-        return battles
-    }
-    
-    func resetBattle() {
-        
-        battles().forEach { delete($0) }
-    }
-    
-    func createBattle() -> Battle? {
-        
-        return insertNewObject(for: Battle.entity)
-    }
-    
-    func sortedDamagesById() -> [Damage] {
-        
-        let sortDescriptor = NSSortDescriptor(key: #keyPath(Damage.id), ascending: true)
-        
-        guard let damages = try? objects(of: Damage.entity, sortDescriptors: [sortDescriptor]) else { return [] }
-        
-        return damages
-    }
-    
-    func damages() -> [Damage] {
-        
-        guard let damages = try? objects(of: Damage.entity) else { return [] }
-        
-        return damages
-    }
-    
-    func createDamage() -> Damage? {
-        
-        return insertNewObject(for: Damage.entity)
-    }
-    
-    func guardEscaped() -> [GuardEscaped] {
-        
-        guard let escapeds = try? objects(of: GuardEscaped.entity) else { return [] }
-        
-        return escapeds
-    }
-    
-    func ensuredGuardEscaped(byShipId shipId: Int) -> GuardEscaped? {
-        
-        let p = NSPredicate(format: "shipID = %ld AND ensured = TRUE", shipId)
-        
-        guard let escapes = try? objects(of: GuardEscaped.entity, predicate: p) else { return nil }
-        
-        return escapes.first
-    }
-    
-    func notEnsuredGuardEscaped() -> [GuardEscaped] {
-        
-        let predicate = NSPredicate(format: "ensured = FALSE")
-        
-        guard let escapeds = try? objects(of: GuardEscaped.entity, predicate: predicate) else { return [] }
-        
-        return escapeds
-    }
-    
-    func createGuardEscaped() -> GuardEscaped? {
-        
-        return insertNewObject(for: GuardEscaped.entity)
-    }
-}