From 2bcc062c180e1b7afe41c12369df9067096776a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pin=CC=83era=20Buendi=CC=81a?= Date: Wed, 30 Mar 2016 11:18:41 +0200 Subject: [PATCH] Improve the Reactive interface --- SugarRecord.podspec | 3 -- SugarRecord.xcodeproj/project.pbxproj | 54 ------------------- .../DefaultCoreDataStorage+Reactive.swift | 3 -- .../ReactiveStorage+ReactiveCocoa.swift | 17 +++++- .../Source/Reactive/ReactiveStorage.swift | 4 -- .../Reactive/Rx/ReactiveStorage+Rx.swift | 16 +++++- .../RealmDefaultStorage+Reactive.swift | 3 -- 7 files changed, 31 insertions(+), 69 deletions(-) delete mode 100644 SugarRecord/Source/CoreData/Reactive/DefaultCoreDataStorage+Reactive.swift delete mode 100644 SugarRecord/Source/Reactive/ReactiveStorage.swift delete mode 100644 SugarRecord/Source/Realm/Reactive/RealmDefaultStorage+Reactive.swift diff --git a/SugarRecord.podspec b/SugarRecord.podspec index 7dac284..7543354 100644 --- a/SugarRecord.podspec +++ b/SugarRecord.podspec @@ -47,7 +47,6 @@ Pod::Spec.new do |s| s.subspec "CoreData" do |spec| source_files = ['SugarRecord/Source/Foundation/**/*.{swift}', 'SugarRecord/Source/CoreData/**/*.{swift}'] - excluded_files = ['SugarRecord/Source/CoreData/Reactive/**/*.{swift}'] spec.source_files = source_files spec.exclude_files = excluded_files + excluded_icloud_files coredata_dependencies.call(spec) @@ -57,7 +56,6 @@ Pod::Spec.new do |s| s.subspec "CoreData+iCloud" do |spec| source_files = ['SugarRecord/Source/Foundation/**/*.{swift}', 'SugarRecord/Source/CoreData/**/*.{swift}'] - excluded_files = ['SugarRecord/Source/CoreData/Reactive/**/*.{swift}'] spec.source_files = source_files spec.exclude_files = excluded_files coredata_dependencies.call(spec) @@ -109,7 +107,6 @@ Pod::Spec.new do |s| s.subspec "Realm" do |spec| spec.source_files = ['SugarRecord/Source/Foundation/**/*.{swift}', 'SugarRecord/Source/Realm/**/*.{swift}'] - spec.exclude_files = ['SugarRecord/Source/Realm/Reactive/**/*.{swift}'] realm_dependencies.call(spec) foundation_dependencies.call(spec) end diff --git a/SugarRecord.xcodeproj/project.pbxproj b/SugarRecord.xcodeproj/project.pbxproj index 049bbf7..9a487c1 100644 --- a/SugarRecord.xcodeproj/project.pbxproj +++ b/SugarRecord.xcodeproj/project.pbxproj @@ -17,7 +17,6 @@ 2319B7D41C23FF8F0050ABE8 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62E1BED4AC00081E6E7 /* Request.swift */; }; 2319B7D71C23FF8F0050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; }; 2319B7DA1C23FF8F0050ABE8 /* NSSortDescriptorConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6371BED4AC00081E6E7 /* NSSortDescriptorConvertible.swift */; }; - 2319B7DB1C23FF8F0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; }; 2319B7DD1C23FF8F0050ABE8 /* RealmEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23AC16281BF3716200FAF97A /* RealmEntity.swift */; }; 2319B7DE1C23FF8F0050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; }; 2319B7DF1C23FF8F0050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; }; @@ -26,14 +25,12 @@ 2319B7E31C23FF8F0050ABE8 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6311BED4AC00081E6E7 /* Error.swift */; }; 2319B7E41C23FF8F0050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; }; 2319B7E51C23FF8F0050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; }; - 2319B7E61C23FF8F0050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 2319B7E81C23FF8F0050ABE8 /* RequestExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6331BED4AC00081E6E7 /* RequestExtension.swift */; }; 2319B7EA1C23FF8F0050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; }; 2319B7EB1C23FF8F0050ABE8 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62F1BED4AC00081E6E7 /* Storage.swift */; }; 2319B7EC1C23FF8F0050ABE8 /* DirUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F01BF0FE4500F9D379 /* DirUtils.swift */; }; 2319B7ED1C23FF8F0050ABE8 /* RealmDefaultStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FD9E1BF15BD200009071 /* RealmDefaultStorage.swift */; }; 2319B8001C2400420050ABE8 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62E1BED4AC00081E6E7 /* Request.swift */; }; - 2319B8031C2400420050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 2319B8061C2400420050ABE8 /* NSSortDescriptorConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6371BED4AC00081E6E7 /* NSSortDescriptorConvertible.swift */; }; 2319B80A1C2400420050ABE8 /* NSPredicateConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6361BED4AC00081E6E7 /* NSPredicateConvertible.swift */; }; 2319B80B1C2400420050ABE8 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6311BED4AC00081E6E7 /* Error.swift */; }; @@ -44,15 +41,12 @@ 2319B8121C2400420050ABE8 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62F1BED4AC00081E6E7 /* Storage.swift */; }; 2319B8131C2400420050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; }; 2319B8141C2400420050ABE8 /* DirUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F01BF0FE4500F9D379 /* DirUtils.swift */; }; - 2319B8251C2400BD0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; }; 2319B8261C2400BD0050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; }; 2319B8271C2400BD0050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; }; 2319B8281C2400BD0050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; }; 2319B8291C2400BD0050ABE8 /* RealmEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23AC16281BF3716200FAF97A /* RealmEntity.swift */; }; 2319B82A1C2400BD0050ABE8 /* RealmDefaultStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FD9E1BF15BD200009071 /* RealmDefaultStorage.swift */; }; - 2319B85A1C2401E80050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 2319B85B1C2401E80050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; }; - 2319B85C1C2401F20050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; }; 2319B85D1C2401F20050ABE8 /* CoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6661BED4B250081E6E7 /* CoreData.swift */; }; 2319B85E1C2401F20050ABE8 /* ObjectModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6701BED4DF50081E6E7 /* ObjectModel.swift */; }; 2319B85F1C2401F20050ABE8 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6751BED4E420081E6E7 /* Store.swift */; }; @@ -73,9 +67,7 @@ 2319B86E1C2401F80050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; }; 2319B86F1C2401F90050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; }; 2319B8701C2401F90050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; }; - 2319B8711C2402220050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 2319B8721C2402220050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; }; - 2319B8731C2402290050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; }; 2319B8741C2402290050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; }; 2319B8751C2402290050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; }; 2319B8761C2402290050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; }; @@ -91,7 +83,6 @@ 2319B8801C2402300050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; }; 2319B8811C2402300050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; }; 2319B8821C2402300050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; }; - 2319B8B01C2402850050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 2319B8B11C2402850050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; }; 2319B8B21C24028C0050ABE8 /* DirUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F01BF0FE4500F9D379 /* DirUtils.swift */; }; 2319B8B31C24028C0050ABE8 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62E1BED4AC00081E6E7 /* Request.swift */; }; @@ -103,7 +94,6 @@ 2319B8B91C24028C0050ABE8 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6351BED4AC00081E6E7 /* Context.swift */; }; 2319B8BA1C24028C0050ABE8 /* Entity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FE1BF1EA8D00F9D379 /* Entity.swift */; }; 2319B8BB1C24028C0050ABE8 /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23A9167C1C173FCF005E57D8 /* Requestable.swift */; }; - 2319B8BC1C2402960050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; }; 2319B8BD1C2402960050ABE8 /* CoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6661BED4B250081E6E7 /* CoreData.swift */; }; 2319B8BE1C2402960050ABE8 /* ObjectModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6701BED4DF50081E6E7 /* ObjectModel.swift */; }; 2319B8BF1C2402960050ABE8 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6751BED4E420081E6E7 /* Store.swift */; }; @@ -114,9 +104,7 @@ 2319B8C41C2402960050ABE8 /* NSManagedObjectContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E6291BED4AC00081E6E7 /* NSManagedObjectContext.swift */; }; 2319B8C51C2402960050ABE8 /* NSManagedObjectMemoryContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 231C61F01C174BE000CD6532 /* NSManagedObjectMemoryContext.swift */; }; 2319B8C61C2402960050ABE8 /* CoreDataDefaultStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2353E62B1BED4AC00081E6E7 /* CoreDataDefaultStorage.swift */; }; - 2319B8C71C2402BA0050ABE8 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 2319B8C81C2402BA0050ABE8 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; }; - 2319B8C91C2402BA0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */; }; 2319B8CA1C2402BA0050ABE8 /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3FDA31BF15C5500009071 /* Realm.swift */; }; 2319B8CB1C2402BA0050ABE8 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8F61BF1E87200F9D379 /* Results.swift */; }; 2319B8CC1C2402BA0050ABE8 /* Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2305F8FA1BF1EA5900F9D379 /* Object.swift */; }; @@ -262,12 +250,8 @@ 23B15C521BF352AD0059008E /* Issue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B15C511BF352AD0059008E /* Issue.swift */; }; 23B15C571BF3535E0059008E /* RealmTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B15C561BF3535E0059008E /* RealmTests.swift */; }; 23B15C591BF353F70059008E /* Realm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B15C581BF353F70059008E /* Realm.swift */; }; - 23F3F3651C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; - 23F3F3661C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */; }; 23F3F36A1C1DFA6D009A5CC1 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; }; 23F3F36B1C1DFA6D009A5CC1 /* ReactiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */; }; - 23F3F37E1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; }; - 23F3F37F1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */; }; 23F3F3931C1E14BD009A5CC1 /* ReactiveStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23F3F3921C1E14BD009A5CC1 /* ReactiveStorageTests.swift */; }; 3D733FD51C0C2AC400B74DA1 /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D733FD41C0C2AC400B74DA1 /* RequestTests.swift */; }; 3DDE7D451BF4E45E00D166C4 /* Track+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DDE7D431BF4E45E00D166C4 /* Track+CoreDataProperties.swift */; }; @@ -395,10 +379,7 @@ 23B15C511BF352AD0059008E /* Issue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Issue.swift; sourceTree = ""; }; 23B15C561BF3535E0059008E /* RealmTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RealmTests.swift; sourceTree = ""; }; 23B15C581BF353F70059008E /* Realm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Realm.swift; sourceTree = ""; }; - 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactiveStorage.swift; sourceTree = ""; }; 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactiveError.swift; sourceTree = ""; }; - 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "RealmDefaultStorage+Reactive.swift"; path = "Reactive/RealmDefaultStorage+Reactive.swift"; sourceTree = ""; }; - 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "DefaultCoreDataStorage+Reactive.swift"; path = "Reactive/DefaultCoreDataStorage+Reactive.swift"; sourceTree = ""; }; 23F3F3921C1E14BD009A5CC1 /* ReactiveStorageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactiveStorageTests.swift; sourceTree = ""; }; 3D733FD41C0C2AC400B74DA1 /* RequestTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestTests.swift; sourceTree = ""; }; 3DB2B82D1BDEE187005B7EF2 /* SugarRecordCoreData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SugarRecordCoreData.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -645,7 +626,6 @@ 2353E6251BED4AC00081E6E7 /* CoreData */ = { isa = PBXGroup; children = ( - 23F3F37C1C1DFD22009A5CC1 /* Reactive */, 2353E6651BED4B0A0081E6E7 /* Entities */, 2353E6261BED4AC00081E6E7 /* Errors */, 2353E6271BED4AC00081E6E7 /* Extensions */, @@ -800,28 +780,11 @@ children = ( 2333900E1C67B41400844B9D /* ReactiveCocoa */, 233390101C67B41400844B9D /* Rx */, - 23F3F3641C1DF2D6009A5CC1 /* ReactiveStorage.swift */, 23F3F3691C1DFA6D009A5CC1 /* ReactiveError.swift */, ); path = Reactive; sourceTree = ""; }; - 23F3F3761C1DFCF6009A5CC1 /* Reactive */ = { - isa = PBXGroup; - children = ( - 23F3F3771C1DFD0C009A5CC1 /* RealmDefaultStorage+Reactive.swift */, - ); - name = Reactive; - sourceTree = ""; - }; - 23F3F37C1C1DFD22009A5CC1 /* Reactive */ = { - isa = PBXGroup; - children = ( - 23F3F37D1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift */, - ); - name = Reactive; - sourceTree = ""; - }; 23F3F3911C1E14B4009A5CC1 /* Reactive */ = { isa = PBXGroup; children = ( @@ -1081,7 +1044,6 @@ 3DE3FD991BF15BBC00009071 /* Realm */ = { isa = PBXGroup; children = ( - 23F3F3761C1DFCF6009A5CC1 /* Reactive */, 3DE3FD9C1BF15BBC00009071 /* Extensions */, 3DE3FD9D1BF15BBC00009071 /* Storages */, ); @@ -1702,7 +1664,6 @@ 2319B7D41C23FF8F0050ABE8 /* Request.swift in Sources */, 2319B7D71C23FF8F0050ABE8 /* Realm.swift in Sources */, 2319B7DA1C23FF8F0050ABE8 /* NSSortDescriptorConvertible.swift in Sources */, - 2319B7DB1C23FF8F0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */, 2319B7DD1C23FF8F0050ABE8 /* RealmEntity.swift in Sources */, 2319B7DE1C23FF8F0050ABE8 /* Object.swift in Sources */, 233390131C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */, @@ -1712,7 +1673,6 @@ 2319B7E31C23FF8F0050ABE8 /* Error.swift in Sources */, 2319B7E41C23FF8F0050ABE8 /* Context.swift in Sources */, 2319B7E51C23FF8F0050ABE8 /* Results.swift in Sources */, - 2319B7E61C23FF8F0050ABE8 /* ReactiveStorage.swift in Sources */, 2319B7E81C23FF8F0050ABE8 /* RequestExtension.swift in Sources */, 2319B7EA1C23FF8F0050ABE8 /* Entity.swift in Sources */, 2333901B1C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */, @@ -1726,7 +1686,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2319B8251C2400BD0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */, 2319B8261C2400BD0050ABE8 /* Realm.swift in Sources */, 2319B8271C2400BD0050ABE8 /* Results.swift in Sources */, 2319B8281C2400BD0050ABE8 /* Object.swift in Sources */, @@ -1734,7 +1693,6 @@ 2319B82A1C2400BD0050ABE8 /* RealmDefaultStorage.swift in Sources */, 233390151C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */, 2319B8001C2400420050ABE8 /* Request.swift in Sources */, - 2319B8031C2400420050ABE8 /* ReactiveStorage.swift in Sources */, 2319B8061C2400420050ABE8 /* NSSortDescriptorConvertible.swift in Sources */, 2319B80A1C2400420050ABE8 /* NSPredicateConvertible.swift in Sources */, 2319B80B1C2400420050ABE8 /* Error.swift in Sources */, @@ -1764,14 +1722,12 @@ 2319B8801C2402300050ABE8 /* Context.swift in Sources */, 2319B8811C2402300050ABE8 /* Entity.swift in Sources */, 2319B8821C2402300050ABE8 /* Requestable.swift in Sources */, - 2319B8731C2402290050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */, 2319B8741C2402290050ABE8 /* Realm.swift in Sources */, 2319B8751C2402290050ABE8 /* Results.swift in Sources */, 2319B8761C2402290050ABE8 /* Object.swift in Sources */, 2319B8771C2402290050ABE8 /* RealmEntity.swift in Sources */, 2333901F1C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */, 2319B8781C2402290050ABE8 /* RealmDefaultStorage.swift in Sources */, - 2319B8711C2402220050ABE8 /* ReactiveStorage.swift in Sources */, 2319B8721C2402220050ABE8 /* ReactiveError.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1791,9 +1747,7 @@ 2319B8D61C2402C30050ABE8 /* Context.swift in Sources */, 2319B8D71C2402C30050ABE8 /* Entity.swift in Sources */, 2319B8D81C2402C30050ABE8 /* Requestable.swift in Sources */, - 2319B8C71C2402BA0050ABE8 /* ReactiveStorage.swift in Sources */, 2319B8C81C2402BA0050ABE8 /* ReactiveError.swift in Sources */, - 2319B8C91C2402BA0050ABE8 /* RealmDefaultStorage+Reactive.swift in Sources */, 2319B8CA1C2402BA0050ABE8 /* Realm.swift in Sources */, 2319B8CB1C2402BA0050ABE8 /* Results.swift in Sources */, 233390211C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */, @@ -1825,10 +1779,8 @@ 2353E6591BED4AC00081E6E7 /* NSPredicateConvertible.swift in Sources */, 2353E64D1BED4AC00081E6E7 /* Error.swift in Sources */, 2353E6551BED4AC00081E6E7 /* Context.swift in Sources */, - 23F3F3651C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */, 239C8E051BF48B680025DB9A /* ContextParent.swift in Sources */, 2353E6511BED4AC00081E6E7 /* RequestExtension.swift in Sources */, - 23F3F37E1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */, 2305F8FF1BF1EA8D00F9D379 /* Entity.swift in Sources */, 2353E6491BED4AC00081E6E7 /* Storage.swift in Sources */, 233390121C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */, @@ -1846,7 +1798,6 @@ 237A93CF1C62A28A006BC2F1 /* iCloudConfig.swift in Sources */, 2353E6421BED4AC00081E6E7 /* CoreDataDefaultStorage.swift in Sources */, 2353E67C1BED52150081E6E7 /* Options.swift in Sources */, - 23F3F3661C1DF2D6009A5CC1 /* ReactiveStorage.swift in Sources */, 2353E66D1BED4B9C0081E6E7 /* CoreDataErrors.swift in Sources */, 2353E6721BED4DF50081E6E7 /* ObjectModel.swift in Sources */, 2353E65E1BED4AC00081E6E7 /* NSSortDescriptorConvertible.swift in Sources */, @@ -1857,7 +1808,6 @@ 2353E65A1BED4AC00081E6E7 /* NSPredicateConvertible.swift in Sources */, 2353E64E1BED4AC00081E6E7 /* Error.swift in Sources */, 2353E6561BED4AC00081E6E7 /* Context.swift in Sources */, - 23F3F37F1C1DFD37009A5CC1 /* DefaultCoreDataStorage+Reactive.swift in Sources */, 2353E6521BED4AC00081E6E7 /* RequestExtension.swift in Sources */, 231C61F21C174BE000CD6532 /* NSManagedObjectMemoryContext.swift in Sources */, 23F3F36B1C1DFA6D009A5CC1 /* ReactiveError.swift in Sources */, @@ -1886,7 +1836,6 @@ 2319B86E1C2401F80050ABE8 /* Context.swift in Sources */, 2319B86F1C2401F90050ABE8 /* Entity.swift in Sources */, 2319B8701C2401F90050ABE8 /* Requestable.swift in Sources */, - 2319B85C1C2401F20050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */, 2333901E1C67B41400844B9D /* ReactiveStorage+Rx.swift in Sources */, 2319B85D1C2401F20050ABE8 /* CoreData.swift in Sources */, 2319B85E1C2401F20050ABE8 /* ObjectModel.swift in Sources */, @@ -1898,7 +1847,6 @@ 2319B8641C2401F20050ABE8 /* NSManagedObjectContext.swift in Sources */, 2319B8651C2401F20050ABE8 /* NSManagedObjectMemoryContext.swift in Sources */, 2319B8661C2401F20050ABE8 /* CoreDataDefaultStorage.swift in Sources */, - 2319B85A1C2401E80050ABE8 /* ReactiveStorage.swift in Sources */, 2319B85B1C2401E80050ABE8 /* ReactiveError.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1907,7 +1855,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2319B8BC1C2402960050ABE8 /* DefaultCoreDataStorage+Reactive.swift in Sources */, 2319B8BD1C2402960050ABE8 /* CoreData.swift in Sources */, 2319B8BE1C2402960050ABE8 /* ObjectModel.swift in Sources */, 233390181C67B41400844B9D /* ReactiveStorage+ReactiveCocoa.swift in Sources */, @@ -1932,7 +1879,6 @@ 2319B8B91C24028C0050ABE8 /* Context.swift in Sources */, 2319B8BA1C24028C0050ABE8 /* Entity.swift in Sources */, 2319B8BB1C24028C0050ABE8 /* Requestable.swift in Sources */, - 2319B8B01C2402850050ABE8 /* ReactiveStorage.swift in Sources */, 2319B8B11C2402850050ABE8 /* ReactiveError.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/SugarRecord/Source/CoreData/Reactive/DefaultCoreDataStorage+Reactive.swift b/SugarRecord/Source/CoreData/Reactive/DefaultCoreDataStorage+Reactive.swift deleted file mode 100644 index 71f4565..0000000 --- a/SugarRecord/Source/CoreData/Reactive/DefaultCoreDataStorage+Reactive.swift +++ /dev/null @@ -1,3 +0,0 @@ -import Foundation - -extension CoreDataDefaultStorage: ReactiveStorage {} diff --git a/SugarRecord/Source/Reactive/ReactiveCocoa/ReactiveStorage+ReactiveCocoa.swift b/SugarRecord/Source/Reactive/ReactiveCocoa/ReactiveStorage+ReactiveCocoa.swift index 1808968..555b98b 100644 --- a/SugarRecord/Source/Reactive/ReactiveCocoa/ReactiveStorage+ReactiveCocoa.swift +++ b/SugarRecord/Source/Reactive/ReactiveCocoa/ReactiveStorage+ReactiveCocoa.swift @@ -2,7 +2,7 @@ import Foundation import ReactiveCocoa import Result -public extension ReactiveStorage where Self: Storage { +public extension Storage { // MARK: - Operation @@ -22,6 +22,13 @@ public extension ReactiveStorage where Self: Storage { } } + func rac_operation(op: (context: Context) -> Void) -> SignalProducer { + return self.rac_operation { (context, saver) in + op(context: context) + saver() + } + } + func rac_backgroundOperation(op: (context: Context, save: () -> Void) -> Void) -> SignalProducer { return SignalProducer { (observer, disposable) in let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT @@ -41,6 +48,14 @@ public extension ReactiveStorage where Self: Storage { } } + func rac_backgroundOperation(op: (context: Context) -> Void) -> SignalProducer { + return rac_backgroundOperation { (context, save) in + op(context: context) + save() + } + } + + func rac_backgroundFetch(request: Request, mapper: T -> U) -> SignalProducer<[U], Error> { let producer: SignalProducer<[T], Error> = SignalProducer { (observer, disposable) in let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT diff --git a/SugarRecord/Source/Reactive/ReactiveStorage.swift b/SugarRecord/Source/Reactive/ReactiveStorage.swift deleted file mode 100644 index 4918e90..0000000 --- a/SugarRecord/Source/Reactive/ReactiveStorage.swift +++ /dev/null @@ -1,4 +0,0 @@ -import Foundation - -public protocol ReactiveStorage { -} diff --git a/SugarRecord/Source/Reactive/Rx/ReactiveStorage+Rx.swift b/SugarRecord/Source/Reactive/Rx/ReactiveStorage+Rx.swift index abbd966..b081cb0 100644 --- a/SugarRecord/Source/Reactive/Rx/ReactiveStorage+Rx.swift +++ b/SugarRecord/Source/Reactive/Rx/ReactiveStorage+Rx.swift @@ -1,7 +1,7 @@ import Foundation import RxSwift -public extension ReactiveStorage where Self: Storage { +public extension Storage { func rx_operation(op: (context: Context, save: () -> Void) -> Void) -> Observable { return Observable.create { (observer) -> RxSwift.Disposable in @@ -20,6 +20,13 @@ public extension ReactiveStorage where Self: Storage { } } + func rx_operation(op: (context: Context) -> Void) -> Observable { + return rx_operation { (context, save) in + op(context: context) + save() + } + } + func rx_backgroundOperation(op: (context: Context, save: () -> Void) -> Void) -> Observable { return Observable.create { (observer) -> RxSwift.Disposable in self.operation { (context, saver) in @@ -37,6 +44,13 @@ public extension ReactiveStorage where Self: Storage { } } + func rx_backgroundOperation(op: (context: Context) -> Void) -> Observable { + return rx_backgroundOperation { (context, save) in + op(context: context) + save() + } + } + func rx_backgroundFetch(request: Request, mapper: T -> U) -> Observable<[U]> { let observable: Observable<[T]> = Observable.create { (observer) -> RxSwift.Disposable in let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT diff --git a/SugarRecord/Source/Realm/Reactive/RealmDefaultStorage+Reactive.swift b/SugarRecord/Source/Realm/Reactive/RealmDefaultStorage+Reactive.swift deleted file mode 100644 index 613205a..0000000 --- a/SugarRecord/Source/Realm/Reactive/RealmDefaultStorage+Reactive.swift +++ /dev/null @@ -1,3 +0,0 @@ -import Foundation - -extension RealmDefaultStorage: ReactiveStorage {}