diff --git a/LeStorage/PendingOperationManager.swift b/LeStorage/PendingOperationManager.swift index 0a6bb6b..8d8462b 100644 --- a/LeStorage/PendingOperationManager.swift +++ b/LeStorage/PendingOperationManager.swift @@ -11,11 +11,13 @@ class PendingOperationManager { fileprivate(set) var items: [PendingOperation] = [] - fileprivate var _fileName: String = "pending_\(T.resourceName()).json" + fileprivate var _fileName: String fileprivate var _inMemory: Bool = false init(store: Store, inMemory: Bool) { + self._fileName = "\(store.storeCenter.directoryName)/pending_\(T.resourceName()).json" + self._inMemory = inMemory if !inMemory { do { @@ -32,6 +34,8 @@ class PendingOperationManager { } } + var typeName: String { return String(describing: T.self) } + func addPendingOperation(method: StorageMethod, instance: T, actionOption: ActionOption) { Logger.log("addPendingOperation: \(method), \(instance)") @@ -48,15 +52,15 @@ class PendingOperationManager { fileprivate func _writeIfNecessary() { guard !self._inMemory else { return } - - Task(priority: .background) { - do { - let jsonString: String = try self.items.jsonString() + do { + let jsonString: String = try self.items.jsonString() + Task(priority: .background) { let _ = try FileUtils.writeToDocumentDirectory(content: jsonString, fileName: self._fileName) - } catch { - Logger.error(error) } + } catch { + Logger.error(error) } + } }