motion-yapper 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -2
- data/.travis.yml +2 -0
- data/Gemfile +1 -0
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/lib/motion-yapper.rb +1 -0
- data/lib/yapper.rb +3 -5
- data/lib/yapper/config.rb +2 -0
- data/lib/yapper/db.rb +105 -40
- data/lib/yapper/document.rb +7 -4
- data/lib/yapper/document/callbacks.rb +0 -7
- data/lib/yapper/document/{persistance.rb → persistence.rb} +27 -21
- data/lib/yapper/document/relation.rb +29 -22
- data/lib/yapper/document/selection.rb +122 -54
- data/lib/yapper/extensions.rb +12 -24
- data/lib/yapper/settings.rb +43 -0
- data/lib/yapper/timestamps.rb +2 -0
- data/lib/yapper/version.rb +1 -1
- data/{yapper.gemspec → motion-yapper.gemspec} +0 -0
- data/spec/integration/{where_spec.rb → criteria_spec.rb} +78 -10
- data/spec/integration/db_spec.rb +70 -0
- data/spec/integration/defaults_spec.rb +37 -0
- data/spec/integration/extensions_spec.rb +14 -0
- data/spec/integration/{persistance_spec.rb → persistence_spec.rb} +0 -0
- data/spec/integration/relation_spec.rb +4 -4
- data/vendor/Podfile.lock +9 -11
- data/vendor/Pods/.build/libPods-CocoaLumberjack.a +0 -0
- data/vendor/Pods/.build/libPods-NSData+MD5Digest.a +0 -0
- data/vendor/Pods/.build/libPods-YapDatabase.a +0 -0
- data/vendor/Pods/.build/libPods.a +0 -0
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDASLLogger.h +4 -4
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +14 -14
- data/vendor/Pods/{CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.h → BuildHeaders/CocoaLumberjack/DDContextFilterLogFormatter.h} +6 -8
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +67 -32
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog+LOGV.h +99 -0
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +98 -65
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDMultiFormatter.h +30 -0
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +39 -25
- data/vendor/Pods/BuildHeaders/YapDatabase/NSDictionary+YapDatabase.h +8 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +1 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +3 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +4 -4
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +21 -19
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +1 -1
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +35 -31
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +8 -35
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -2
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +17 -17
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTypes.h +32 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +8 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +43 -21
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationship.h +35 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipConnection.h +29 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdge.h +163 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdgePrivate.h +79 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipNode.h +99 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipOptions.h +59 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipPrivate.h +125 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipTransaction.h +384 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +49 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +10 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetupPrivate.h +18 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +131 -21
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +48 -107
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +2 -2
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +1 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +17 -0
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +10 -3
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +18 -1
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +75 -24
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTypes.h +99 -0
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +4 -4
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +51 -50
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +14 -14
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +546 -546
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +67 -32
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +1093 -907
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog+LOGV.h +99 -0
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +98 -65
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +873 -748
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +39 -25
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +1284 -1243
- data/vendor/Pods/{BuildHeaders/CocoaLumberjack/ContextFilterLogFormatter.h → CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.h} +6 -8
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/{ContextFilterLogFormatter.m → DDContextFilterLogFormatter.m} +70 -70
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.m +253 -0
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.h +30 -0
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.m +127 -0
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +1 -1
- data/vendor/Pods/CocoaLumberjack/README.markdown +52 -15
- data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +4 -4
- data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +14 -14
- data/vendor/Pods/Headers/CocoaLumberjack/{ContextFilterLogFormatter.h → DDContextFilterLogFormatter.h} +6 -8
- data/vendor/Pods/Headers/CocoaLumberjack/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
- data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +67 -32
- data/vendor/Pods/Headers/CocoaLumberjack/DDLog+LOGV.h +99 -0
- data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +98 -65
- data/vendor/Pods/Headers/CocoaLumberjack/DDMultiFormatter.h +30 -0
- data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +39 -25
- data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +3 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +4 -4
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +21 -19
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +8 -35
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +17 -17
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTypes.h +32 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationship.h +35 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipConnection.h +29 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipEdge.h +163 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipNode.h +99 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipOptions.h +59 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipTransaction.h +384 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +49 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +131 -21
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +48 -107
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +2 -2
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +1 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +17 -0
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +10 -3
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +75 -24
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTypes.h +99 -0
- data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +2 -0
- data/vendor/Pods/Headers/____Pods-environment.h +15 -15
- data/vendor/Pods/Manifest.lock +9 -11
- data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +1 -1
- data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +2 -0
- data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +1 -1
- data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +1 -1
- data/vendor/Pods/{Pods-Acknowledgements.markdown → Pods-acknowledgements.markdown} +0 -37
- data/vendor/Pods/{Pods-Acknowledgements.plist → Pods-acknowledgements.plist} +0 -45
- data/vendor/Pods/Pods-environment.h +15 -15
- data/vendor/Pods/Pods.xcconfig +3 -3
- data/vendor/Pods/Pods.xcodeproj/project.pbxproj +2426 -3155
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-CocoaLumberjack.xcscheme +59 -0
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-NSData+MD5Digest.xcscheme +59 -0
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-YapDatabase.xcscheme +59 -0
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods.xcscheme +59 -0
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/xcschememanagement.plist +31 -0
- data/vendor/Pods/YapDatabase/README.md +3 -1
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +0 -2
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +8 -35
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +25 -41
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +17 -17
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +403 -134
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.h +32 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +8 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +8 -8
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +113 -62
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +35 -31
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +25 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +1 -1
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +25 -1
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h +79 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h +125 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h +35 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m +129 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h +29 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m +802 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h +163 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m +408 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h +99 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h +59 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m +29 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h +384 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m +5254 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +10 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexSetupPrivate.h +18 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +49 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +12 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +9 -8
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +62 -1
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +148 -45
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +18 -1
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +2 -2
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +15 -9
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +17 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +211 -64
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +48 -107
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +10 -7
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +1 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +13 -22
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +10 -3
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +75 -24
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +725 -244
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.h +99 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.h +8 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.m +19 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +1 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +12 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +1 -1
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +3 -3
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +43 -21
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +4 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +3 -0
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +5 -0
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +4 -4
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +84 -93
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +21 -19
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +381 -209
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +131 -21
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +587 -267
- data/vendor/Pods/{Pods.bridgesupport → build-iPhoneSimulator/Pods.bridgesupport} +633 -2557
- data/vendor/Pods/build-iPhoneSimulator/libPods.a +0 -0
- data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +2 -1
- data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +2 -1
- data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +4 -2
- metadata +80 -108
- data/Gemfile.lock +0 -63
- data/lib/yapper/attachment.rb +0 -48
- data/lib/yapper/document/attachment.rb +0 -26
- data/lib/yapper/sync.rb +0 -134
- data/lib/yapper/sync/data.rb +0 -12
- data/lib/yapper/sync/event.rb +0 -194
- data/lib/yapper/sync/queue.rb +0 -164
- data/spec/integration/all_spec.rb +0 -40
- data/spec/integration/sync_spec.rb +0 -42
- data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.h +0 -641
- data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.m +0 -1396
- data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h +0 -133
- data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m +0 -327
- data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.h +0 -113
- data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.m +0 -321
- data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.h +0 -71
- data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.m +0 -150
- data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
- data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m +0 -157
- data/vendor/Pods/AFNetworking/AFNetworking/AFNetworking.h +0 -43
- data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.h +0 -68
- data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.m +0 -143
- data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h +0 -370
- data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m +0 -848
- data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.h +0 -89
- data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.m +0 -167
- data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.h +0 -78
- data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.m +0 -191
- data/vendor/Pods/AFNetworking/LICENSE +0 -19
- data/vendor/Pods/AFNetworking/README.md +0 -208
- data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPClient.h +0 -641
- data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPRequestOperation.h +0 -133
- data/vendor/Pods/BuildHeaders/AFNetworking/AFImageRequestOperation.h +0 -113
- data/vendor/Pods/BuildHeaders/AFNetworking/AFJSONRequestOperation.h +0 -71
- data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
- data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworking.h +0 -43
- data/vendor/Pods/BuildHeaders/AFNetworking/AFPropertyListRequestOperation.h +0 -68
- data/vendor/Pods/BuildHeaders/AFNetworking/AFURLConnectionOperation.h +0 -370
- data/vendor/Pods/BuildHeaders/AFNetworking/AFXMLRequestOperation.h +0 -89
- data/vendor/Pods/BuildHeaders/AFNetworking/UIImageView+AFNetworking.h +0 -78
- data/vendor/Pods/BuildHeaders/Reachability/Reachability.h +0 -109
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.m +0 -251
- data/vendor/Pods/Headers/AFNetworking/AFHTTPClient.h +0 -641
- data/vendor/Pods/Headers/AFNetworking/AFHTTPRequestOperation.h +0 -133
- data/vendor/Pods/Headers/AFNetworking/AFImageRequestOperation.h +0 -113
- data/vendor/Pods/Headers/AFNetworking/AFJSONRequestOperation.h +0 -71
- data/vendor/Pods/Headers/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
- data/vendor/Pods/Headers/AFNetworking/AFNetworking.h +0 -43
- data/vendor/Pods/Headers/AFNetworking/AFPropertyListRequestOperation.h +0 -68
- data/vendor/Pods/Headers/AFNetworking/AFURLConnectionOperation.h +0 -370
- data/vendor/Pods/Headers/AFNetworking/AFXMLRequestOperation.h +0 -89
- data/vendor/Pods/Headers/AFNetworking/UIImageView+AFNetworking.h +0 -78
- data/vendor/Pods/Headers/Reachability/Reachability.h +0 -109
- data/vendor/Pods/Headers/YapDatabase/YapCache.h +0 -90
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnectionState.h +0 -29
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseDefaults.h +0 -37
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionPrivate.h +0 -440
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -19
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchPrivate.h +0 -69
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseLogging.h +0 -158
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseManager.h +0 -17
- data/vendor/Pods/Headers/YapDatabase/YapDatabasePrivate.h +0 -424
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +0 -73
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseStatement.h +0 -13
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseString.h +0 -121
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChangePrivate.h +0 -94
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappingsPrivate.h +0 -72
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPage.h +0 -36
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPageMetadata.h +0 -27
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPrivate.h +0 -153
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +0 -17
- data/vendor/Pods/Headers/YapDatabase/YapMemoryTable.h +0 -74
- data/vendor/Pods/Headers/YapDatabase/YapNull.h +0 -17
- data/vendor/Pods/Headers/YapDatabase/YapTouch.h +0 -15
- data/vendor/Pods/Headers/____Pods-AFNetworking-prefix.h +0 -17
- data/vendor/Pods/Headers/____Pods-Reachability-prefix.h +0 -5
- data/vendor/Pods/Pods-AFNetworking-Private.xcconfig +0 -5
- data/vendor/Pods/Pods-AFNetworking-dummy.m +0 -5
- data/vendor/Pods/Pods-AFNetworking-prefix.pch +0 -17
- data/vendor/Pods/Pods-AFNetworking.xcconfig +0 -1
- data/vendor/Pods/Pods-Reachability-Private.xcconfig +0 -5
- data/vendor/Pods/Pods-Reachability-dummy.m +0 -5
- data/vendor/Pods/Pods-Reachability-prefix.pch +0 -5
- data/vendor/Pods/Pods-Reachability.xcconfig +0 -1
- data/vendor/Pods/Reachability/LICENCE.txt +0 -24
- data/vendor/Pods/Reachability/README.md +0 -65
- data/vendor/Pods/Reachability/Reachability.h +0 -109
- data/vendor/Pods/Reachability/Reachability.m +0 -527
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
#import "YapDatabase.h"
|
|
4
|
+
#import "YapDatabaseConnection.h"
|
|
5
|
+
#import "YapDatabaseTransaction.h"
|
|
6
|
+
|
|
7
|
+
#import "YapDatabaseRelationship.h"
|
|
8
|
+
#import "YapDatabaseRelationshipOptions.h"
|
|
9
|
+
#import "YapDatabaseRelationshipConnection.h"
|
|
10
|
+
#import "YapDatabaseRelationshipTransaction.h"
|
|
11
|
+
|
|
12
|
+
#import "YapDatabasePrivate.h"
|
|
13
|
+
#import "YapDatabaseExtensionPrivate.h"
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* This version number is stored in the yap2 table.
|
|
17
|
+
* If there is a major re-write to this class, then the version number will be incremented,
|
|
18
|
+
* and the class can automatically rebuild the table as needed.
|
|
19
|
+
**/
|
|
20
|
+
#define YAP_DATABASE_RELATIONSHIP_CLASS_VERSION 3
|
|
21
|
+
|
|
22
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
23
|
+
#pragma mark -
|
|
24
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
25
|
+
|
|
26
|
+
@interface YapDatabaseRelationship () {
|
|
27
|
+
@public
|
|
28
|
+
|
|
29
|
+
int version;
|
|
30
|
+
YapDatabaseRelationshipOptions *options;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
- (NSString *)tableName;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The dispatch queue for performing file deletion operations.
|
|
37
|
+
* Note: This method is not thread-safe, as it expects to only be invoked from within a read-write transaction.
|
|
38
|
+
**/
|
|
39
|
+
- (dispatch_queue_t)fileManagerQueue;
|
|
40
|
+
|
|
41
|
+
@end
|
|
42
|
+
|
|
43
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
44
|
+
#pragma mark -
|
|
45
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
46
|
+
|
|
47
|
+
@interface YapDatabaseRelationshipOptions () {
|
|
48
|
+
@public
|
|
49
|
+
|
|
50
|
+
BOOL disableYapDatabaseRelationshipNodeProtocol;
|
|
51
|
+
NSSet *allowedCollections;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@end
|
|
55
|
+
|
|
56
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
57
|
+
#pragma mark -
|
|
58
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
59
|
+
|
|
60
|
+
@interface YapDatabaseRelationshipConnection () {
|
|
61
|
+
@public
|
|
62
|
+
|
|
63
|
+
__strong YapDatabaseRelationship *relationship;
|
|
64
|
+
__unsafe_unretained YapDatabaseConnection *databaseConnection;
|
|
65
|
+
|
|
66
|
+
NSMutableDictionary *protocolChanges; // key:(NSNumber *)srcRowidNumber, value:(NSMutableArray *)edges
|
|
67
|
+
NSMutableDictionary *manualChanges; // key:(NSString *)edgeName, value:(NSMutableArray *)edges
|
|
68
|
+
|
|
69
|
+
NSMutableSet *inserted; // contains:(NSNumber *)rowidNumber
|
|
70
|
+
|
|
71
|
+
NSMutableArray *deletedOrder; // contains:(NSNumber *)rowidNumber
|
|
72
|
+
NSMutableDictionary *deletedInfo; // key:(NSNumber *)rowidNumber, value:(YapCollectionKey *)collectionKey
|
|
73
|
+
|
|
74
|
+
NSMutableSet *filesToDelete;
|
|
75
|
+
|
|
76
|
+
// NSMutableSet *mutatedSomething;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
- (id)initWithRelationship:(YapDatabaseRelationship *)relationship databaseConnection:(YapDatabaseConnection *)dbc;
|
|
80
|
+
|
|
81
|
+
- (void)postRollbackCleanup;
|
|
82
|
+
- (void)postCommitCleanup;
|
|
83
|
+
|
|
84
|
+
- (sqlite3_stmt *)findManualEdgeStatement;
|
|
85
|
+
- (sqlite3_stmt *)insertEdgeStatement;
|
|
86
|
+
- (sqlite3_stmt *)updateEdgeStatement;
|
|
87
|
+
- (sqlite3_stmt *)deleteEdgeStatement;
|
|
88
|
+
- (sqlite3_stmt *)deleteEdgesWithNodeStatement;
|
|
89
|
+
- (sqlite3_stmt *)enumerateAllDstFilePathStatement;
|
|
90
|
+
- (sqlite3_stmt *)enumerateForSrcStatement;
|
|
91
|
+
- (sqlite3_stmt *)enumerateForDstStatement;
|
|
92
|
+
- (sqlite3_stmt *)enumerateForSrcNameStatement;
|
|
93
|
+
- (sqlite3_stmt *)enumerateForDstNameStatement;
|
|
94
|
+
- (sqlite3_stmt *)enumerateForNameStatement;
|
|
95
|
+
- (sqlite3_stmt *)enumerateForSrcDstStatement;
|
|
96
|
+
- (sqlite3_stmt *)enumerateForSrcDstNameStatement;
|
|
97
|
+
- (sqlite3_stmt *)countForSrcNameExcludingDstStatement;
|
|
98
|
+
- (sqlite3_stmt *)countForDstNameExcludingSrcStatement;
|
|
99
|
+
- (sqlite3_stmt *)countForNameStatement;
|
|
100
|
+
- (sqlite3_stmt *)countForSrcStatement;
|
|
101
|
+
- (sqlite3_stmt *)countForSrcNameStatement;
|
|
102
|
+
- (sqlite3_stmt *)countForDstStatement;
|
|
103
|
+
- (sqlite3_stmt *)countForDstNameStatement;
|
|
104
|
+
- (sqlite3_stmt *)countForSrcDstStatement;
|
|
105
|
+
- (sqlite3_stmt *)countForSrcDstNameStatement;
|
|
106
|
+
- (sqlite3_stmt *)removeAllStatement;
|
|
107
|
+
- (sqlite3_stmt *)removeAllProtocolStatement;
|
|
108
|
+
|
|
109
|
+
@end
|
|
110
|
+
|
|
111
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
112
|
+
#pragma mark -
|
|
113
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
114
|
+
|
|
115
|
+
@interface YapDatabaseRelationshipTransaction () {
|
|
116
|
+
@protected
|
|
117
|
+
|
|
118
|
+
__unsafe_unretained YapDatabaseRelationshipConnection *relationshipConnection;
|
|
119
|
+
__unsafe_unretained YapDatabaseReadTransaction *databaseTransaction;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
- (id)initWithRelationshipConnection:(YapDatabaseRelationshipConnection *)relationshipConnection
|
|
123
|
+
databaseTransaction:(YapDatabaseReadTransaction *)databaseTransaction;
|
|
124
|
+
|
|
125
|
+
@end
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
#import "YapDatabaseExtensionTransaction.h"
|
|
4
|
+
#import "YapDatabaseRelationshipEdge.h"
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Welcome to YapDatabase!
|
|
8
|
+
*
|
|
9
|
+
* The project page has a wealth of documentation if you have any questions.
|
|
10
|
+
* https://github.com/yaptv/YapDatabase
|
|
11
|
+
*
|
|
12
|
+
* If you're new to the project you may want to visit the wiki.
|
|
13
|
+
* https://github.com/yaptv/YapDatabase/wiki
|
|
14
|
+
*
|
|
15
|
+
* The YapDatabaseRelationship extension allow you to create relationships between objects,
|
|
16
|
+
* and configure automatic deletion rules.
|
|
17
|
+
*
|
|
18
|
+
* For tons of information about this extension, see the wiki article:
|
|
19
|
+
* https://github.com/yaptv/YapDatabase/wiki/Relationships
|
|
20
|
+
**/
|
|
21
|
+
|
|
22
|
+
@interface YapDatabaseRelationshipTransaction : YapDatabaseExtensionTransaction
|
|
23
|
+
|
|
24
|
+
#pragma mark Node Fetch
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Shortcut for fetching the source object for the given edge.
|
|
28
|
+
* Equivalent to:
|
|
29
|
+
*
|
|
30
|
+
* [transaction objectForKey:edge.sourceKey inCollection:edge.sourceCollection];
|
|
31
|
+
**/
|
|
32
|
+
- (id)sourceNodeForEdge:(YapDatabaseRelationshipEdge *)edge;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Shortcut for fetching the destination object for the given edge.
|
|
36
|
+
* Equivalent to:
|
|
37
|
+
*
|
|
38
|
+
* [transaction objectForKey:edge.destinationKey inCollection:edge.destinationCollection];
|
|
39
|
+
**/
|
|
40
|
+
- (id)destinationNodeForEdge:(YapDatabaseRelationshipEdge *)edge;
|
|
41
|
+
|
|
42
|
+
#pragma mark Enumerate
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Enumerates every edge in the graph with the given name.
|
|
46
|
+
*
|
|
47
|
+
* @param name
|
|
48
|
+
* The name of the edge (case sensitive).
|
|
49
|
+
**/
|
|
50
|
+
- (void)enumerateEdgesWithName:(NSString *)name
|
|
51
|
+
usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Enumerates every edge that matches any parameters you specify.
|
|
55
|
+
* You can specify any combination of the following:
|
|
56
|
+
*
|
|
57
|
+
* - name only
|
|
58
|
+
* - sourceKey & sourceCollection only
|
|
59
|
+
* - name + sourceKey & sourceCollection
|
|
60
|
+
*
|
|
61
|
+
* @param name (optional)
|
|
62
|
+
* The name of the edge (case sensitive).
|
|
63
|
+
*
|
|
64
|
+
* @param sourceKey (optional)
|
|
65
|
+
* The edge.sourceKey to match.
|
|
66
|
+
*
|
|
67
|
+
* @param sourceCollection (optional)
|
|
68
|
+
* The edge.sourceCollection to match.
|
|
69
|
+
*
|
|
70
|
+
* If you pass a non-nil sourceKey, and sourceCollection is nil,
|
|
71
|
+
* then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
72
|
+
**/
|
|
73
|
+
- (void)enumerateEdgesWithName:(NSString *)name
|
|
74
|
+
sourceKey:(NSString *)sourceKey
|
|
75
|
+
collection:(NSString *)sourceCollection
|
|
76
|
+
usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Enumerates every edge that matches any parameters you specify.
|
|
80
|
+
* You can specify any combination of the following:
|
|
81
|
+
*
|
|
82
|
+
* - name only
|
|
83
|
+
* - destinationKey & destinationCollection only
|
|
84
|
+
* - name + destinationKey & destinationCollection
|
|
85
|
+
*
|
|
86
|
+
* @param name (optional)
|
|
87
|
+
* The name of the edge (case sensitive).
|
|
88
|
+
*
|
|
89
|
+
* @param destinationKey (optional)
|
|
90
|
+
* The edge.destinationKey to match.
|
|
91
|
+
*
|
|
92
|
+
* @param destinationCollection (optional)
|
|
93
|
+
* The edge.destinationCollection to match.
|
|
94
|
+
*
|
|
95
|
+
* If you pass a non-nil destinationKey, and destinationCollection is nil,
|
|
96
|
+
* then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
97
|
+
**/
|
|
98
|
+
- (void)enumerateEdgesWithName:(NSString *)name
|
|
99
|
+
destinationKey:(NSString *)destinationKey
|
|
100
|
+
collection:(NSString *)destinationCollection
|
|
101
|
+
usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Enumerates every edge that matches any parameters you specify.
|
|
105
|
+
* You can specify any combination of the following:
|
|
106
|
+
*
|
|
107
|
+
* - name only
|
|
108
|
+
* - destinationFilePath
|
|
109
|
+
* - name + destinationFilePath
|
|
110
|
+
*
|
|
111
|
+
* @param name (optional)
|
|
112
|
+
* The name of the edge (case sensitive).
|
|
113
|
+
*
|
|
114
|
+
* @param destinationFilePath (optional)
|
|
115
|
+
* The edge.destinationFilePath to match.
|
|
116
|
+
**/
|
|
117
|
+
- (void)enumerateEdgesWithName:(NSString *)name
|
|
118
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
119
|
+
usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Enumerates every edge that matches any parameters you specify.
|
|
123
|
+
* You can specify any combination of the following:
|
|
124
|
+
*
|
|
125
|
+
* - name only
|
|
126
|
+
* - sourceKey & sourceCollection only
|
|
127
|
+
* - destinationKey & destinationCollection only
|
|
128
|
+
* - name + sourceKey & sourceCollection
|
|
129
|
+
* - name + destinationKey & destinationCollection
|
|
130
|
+
* - name + sourceKey & sourceCollection + destinationKey & destinationCollection
|
|
131
|
+
*
|
|
132
|
+
* @param name (optional)
|
|
133
|
+
* The name of the edge (case sensitive).
|
|
134
|
+
*
|
|
135
|
+
* @param sourceKey (optional)
|
|
136
|
+
* The edge.sourceKey to match.
|
|
137
|
+
*
|
|
138
|
+
* @param sourceCollection (optional)
|
|
139
|
+
* The edge.sourceCollection to match.
|
|
140
|
+
*
|
|
141
|
+
* @param destinationKey (optional)
|
|
142
|
+
* The edge.destinationKey to match.
|
|
143
|
+
*
|
|
144
|
+
* @param destinationCollection (optional)
|
|
145
|
+
* The edge.destinationCollection to match.
|
|
146
|
+
*
|
|
147
|
+
* If you pass a non-nil sourceKey, and sourceCollection is nil,
|
|
148
|
+
* then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
149
|
+
*
|
|
150
|
+
* If you pass a non-nil destinationKey, and destinationCollection is nil,
|
|
151
|
+
* then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
152
|
+
**/
|
|
153
|
+
- (void)enumerateEdgesWithName:(NSString *)name
|
|
154
|
+
sourceKey:(NSString *)sourceKey
|
|
155
|
+
collection:(NSString *)sourceCollection
|
|
156
|
+
destinationKey:(NSString *)destinationKey
|
|
157
|
+
collection:(NSString *)destinationCollection
|
|
158
|
+
usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Enumerates every edge that matches any parameters you specify.
|
|
162
|
+
* You can specify any combination of the following:
|
|
163
|
+
*
|
|
164
|
+
* - name only
|
|
165
|
+
* - sourceKey & sourceCollection only
|
|
166
|
+
* - destinationKey & destinationCollection only
|
|
167
|
+
* - name + sourceKey & sourceCollection
|
|
168
|
+
* - name + destinationKey & destinationCollection
|
|
169
|
+
* - name + sourceKey & sourceCollection + destinationKey & destinationCollection
|
|
170
|
+
*
|
|
171
|
+
* @param name (optional)
|
|
172
|
+
* The name of the edge (case sensitive).
|
|
173
|
+
*
|
|
174
|
+
* @param sourceKey (optional)
|
|
175
|
+
* The edge.sourceKey to match.
|
|
176
|
+
*
|
|
177
|
+
* @param sourceCollection (optional)
|
|
178
|
+
* The edge.sourceCollection to match.
|
|
179
|
+
*
|
|
180
|
+
* @param destinationFilePath (optional)
|
|
181
|
+
* The edge.destinationFilePath to match.
|
|
182
|
+
*
|
|
183
|
+
* If you pass a non-nil sourceKey, and sourceCollection is nil,
|
|
184
|
+
* then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
185
|
+
**/
|
|
186
|
+
- (void)enumerateEdgesWithName:(NSString *)name
|
|
187
|
+
sourceKey:(NSString *)sourceKey
|
|
188
|
+
collection:(NSString *)sourceCollection
|
|
189
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
190
|
+
usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
|
|
191
|
+
|
|
192
|
+
#pragma mark Count
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Returns a count of every edge in the graph with the given name.
|
|
196
|
+
*
|
|
197
|
+
* @param name
|
|
198
|
+
* The name of the edge (case sensitive).
|
|
199
|
+
**/
|
|
200
|
+
- (NSUInteger)edgeCountWithName:(NSString *)name;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Returns a count of every edge that matches any parameters you specify.
|
|
204
|
+
* You can specify any combination of the following:
|
|
205
|
+
*
|
|
206
|
+
* - name only
|
|
207
|
+
* - sourceKey & sourceCollection only
|
|
208
|
+
* - name + sourceKey & sourceCollection
|
|
209
|
+
*
|
|
210
|
+
* @param name (optional)
|
|
211
|
+
* The name of the edge (case sensitive).
|
|
212
|
+
*
|
|
213
|
+
* @param sourceKey (optional)
|
|
214
|
+
* The edge.sourceKey to match.
|
|
215
|
+
*
|
|
216
|
+
* @param sourceCollection (optional)
|
|
217
|
+
* The edge.sourceCollection to match.
|
|
218
|
+
*
|
|
219
|
+
* If you pass a non-nil sourceKey, and sourceCollection is nil,
|
|
220
|
+
* then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
221
|
+
**/
|
|
222
|
+
- (NSUInteger)edgeCountWithName:(NSString *)name
|
|
223
|
+
sourceKey:(NSString *)sourceKey
|
|
224
|
+
collection:(NSString *)sourceCollection;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Returns a count of every edge that matches any parameters you specify.
|
|
228
|
+
* You can specify any combination of the following:
|
|
229
|
+
*
|
|
230
|
+
* - name only
|
|
231
|
+
* - destinationKey & destinationCollection only
|
|
232
|
+
* - name + destinationKey & destinationCollection
|
|
233
|
+
*
|
|
234
|
+
* @param name (optional)
|
|
235
|
+
* The name of the edge (case sensitive).
|
|
236
|
+
*
|
|
237
|
+
* @param destinationKey (optional)
|
|
238
|
+
* The edge.destinationKey to match.
|
|
239
|
+
*
|
|
240
|
+
* @param destinationCollection (optional)
|
|
241
|
+
* The edge.destinationCollection to match.
|
|
242
|
+
*
|
|
243
|
+
* If you pass a non-nil destinationKey, and destinationCollection is nil,
|
|
244
|
+
* then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
245
|
+
**/
|
|
246
|
+
- (NSUInteger)edgeCountWithName:(NSString *)name
|
|
247
|
+
destinationKey:(NSString *)destinationKey
|
|
248
|
+
collection:(NSString *)destinationCollection;
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Returns a count of every edge that matches any parameters you specify.
|
|
252
|
+
* You can specify any combination of the following:
|
|
253
|
+
*
|
|
254
|
+
* - name only
|
|
255
|
+
* - destinationFilePath
|
|
256
|
+
* - name + destinationFilePath
|
|
257
|
+
*
|
|
258
|
+
* @param name (optional)
|
|
259
|
+
* The name of the edge (case sensitive).
|
|
260
|
+
*
|
|
261
|
+
* @param destinationFilePath (optional)
|
|
262
|
+
* The edge.destinationFilePath to match.
|
|
263
|
+
**/
|
|
264
|
+
- (NSUInteger)edgeCountWithName:(NSString *)name
|
|
265
|
+
destinationFilePath:(NSString *)destinationFilePath;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Returns a count of every edge that matches any parameters you specify.
|
|
269
|
+
* You can specify any combination of the following:
|
|
270
|
+
*
|
|
271
|
+
* - name only
|
|
272
|
+
* - sourceKey & sourceCollection only
|
|
273
|
+
* - destinationKey & destinationCollection only
|
|
274
|
+
* - name + sourceKey & sourceCollection
|
|
275
|
+
* - name + destinationKey & destinationCollection
|
|
276
|
+
* - name + sourceKey & sourceCollection + destinationKey & destinationCollection
|
|
277
|
+
*
|
|
278
|
+
* @param name (optional)
|
|
279
|
+
* The name of the edge (case sensitive).
|
|
280
|
+
*
|
|
281
|
+
* @param sourceKey (optional)
|
|
282
|
+
* The edge.sourceKey to match.
|
|
283
|
+
*
|
|
284
|
+
* @param sourceCollection (optional)
|
|
285
|
+
* The edge.sourceCollection to match.
|
|
286
|
+
*
|
|
287
|
+
* @param destinationKey (optional)
|
|
288
|
+
* The edge.destinationKey to match.
|
|
289
|
+
*
|
|
290
|
+
* @param destinationCollection (optional)
|
|
291
|
+
* The edge.destinationCollection to match.
|
|
292
|
+
*
|
|
293
|
+
* If you pass a non-nil sourceKey, and sourceCollection is nil,
|
|
294
|
+
* then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
295
|
+
*
|
|
296
|
+
* If you pass a non-nil destinationKey, and destinationCollection is nil,
|
|
297
|
+
* then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
298
|
+
**/
|
|
299
|
+
- (NSUInteger)edgeCountWithName:(NSString *)name
|
|
300
|
+
sourceKey:(NSString *)sourceKey
|
|
301
|
+
collection:(NSString *)sourceCollection
|
|
302
|
+
destinationKey:(NSString *)destinationKey
|
|
303
|
+
collection:(NSString *)destinationCollection;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Returns a count of every edge that matches any parameters you specify.
|
|
307
|
+
* You can specify any combination of the following:
|
|
308
|
+
*
|
|
309
|
+
* - name only
|
|
310
|
+
* - sourceKey & sourceCollection only
|
|
311
|
+
* - destinationFilePath
|
|
312
|
+
* - name + sourceKey & sourceCollection
|
|
313
|
+
* - name + destinationFilePath
|
|
314
|
+
* - name + sourceKey & sourceCollection + destinationFilePath
|
|
315
|
+
*
|
|
316
|
+
* @param name (optional)
|
|
317
|
+
* The name of the edge (case sensitive).
|
|
318
|
+
*
|
|
319
|
+
* @param sourceKey (optional)
|
|
320
|
+
* The edge.sourceKey to match.
|
|
321
|
+
*
|
|
322
|
+
* @param sourceCollection (optional)
|
|
323
|
+
* The edge.sourceCollection to match.
|
|
324
|
+
*
|
|
325
|
+
* @param destinationFilePath (optional)
|
|
326
|
+
* The edge.destinationFilePath to match.
|
|
327
|
+
*
|
|
328
|
+
* If you pass a non-nil sourceKey, and sourceCollection is nil,
|
|
329
|
+
* then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
|
|
330
|
+
**/
|
|
331
|
+
- (NSUInteger)edgeCountWithName:(NSString *)name
|
|
332
|
+
sourceKey:(NSString *)sourceKey
|
|
333
|
+
collection:(NSString *)sourceCollection
|
|
334
|
+
destinationFilePath:(NSString *)destinationFilePath;
|
|
335
|
+
|
|
336
|
+
@end
|
|
337
|
+
|
|
338
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
339
|
+
#pragma mark -
|
|
340
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
341
|
+
|
|
342
|
+
@interface YapDatabaseRelationshipTransaction (ReadWrite)
|
|
343
|
+
|
|
344
|
+
#pragma mark Manual Edge Management
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* There are 2 ways to manage edges (add/remove) using the YapDatabaseRelationship extension:
|
|
348
|
+
*
|
|
349
|
+
* - Manual edge management (via the methods below)
|
|
350
|
+
* - Implement the YapDatabaseRelationshipNode protocol for some of your objects
|
|
351
|
+
*
|
|
352
|
+
* For more information, see the wiki section "Edge Creation":
|
|
353
|
+
*
|
|
354
|
+
* https://github.com/yaptv/YapDatabase/wiki/Relationships#wiki-edge_creation
|
|
355
|
+
**/
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* The addEdge: method will add the manual edge (if it doesn't already exist).
|
|
359
|
+
* Otherwise it will replace the the existing manual edge with the same name & srcKey/collection & dstKey/collection.
|
|
360
|
+
**/
|
|
361
|
+
- (void)addEdge:(YapDatabaseRelationshipEdge *)edge;
|
|
362
|
+
|
|
363
|
+
- (void)removeEdge:(YapDatabaseRelationshipEdge *)edge;
|
|
364
|
+
|
|
365
|
+
#pragma mark Force Processing
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* The extension automatically processes all changes to the graph at the end of a readwrite transaction.
|
|
369
|
+
* This allows it to consolidate multiple changes into a single batch,
|
|
370
|
+
* and also minimizes the impact of cascading delete rules, especially in the case where you'll be deleting
|
|
371
|
+
* many of the objects manually at some later point within the transaction block.
|
|
372
|
+
*
|
|
373
|
+
* However, there may be certain use cases where it is preferable to have the extension execute its rules in advance.
|
|
374
|
+
* I'm struggling to come up with a really good example, so this semi-convoluted one will have to do:
|
|
375
|
+
*
|
|
376
|
+
* You have a parent object, with a bunch of child objects that have edges to the parent.
|
|
377
|
+
* You need to replace the parent, and for whatever reason the new parent has the same collection/key.
|
|
378
|
+
* So instead of doing a setObject:forKey:inCollection:, you first delete the original parent.
|
|
379
|
+
* At that point you can invoke this flush method, and it will properly delete any child objects.
|
|
380
|
+
* Then you can safely set the new parent, knowing it won't accidentally inherit any children from the old parent.
|
|
381
|
+
**/
|
|
382
|
+
- (void)flush;
|
|
383
|
+
|
|
384
|
+
@end
|