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
data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import "YapDatabaseRelationshipEdge.h"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Welcome to YapDatabase!
|
|
6
|
+
*
|
|
7
|
+
* The project page has a wealth of documentation if you have any questions.
|
|
8
|
+
* https://github.com/yaptv/YapDatabase
|
|
9
|
+
*
|
|
10
|
+
* If you're new to the project you may want to visit the wiki.
|
|
11
|
+
* https://github.com/yaptv/YapDatabase/wiki
|
|
12
|
+
*
|
|
13
|
+
* The YapDatabaseRelationship extension allow you to create relationships between objects,
|
|
14
|
+
* and configure automatic deletion rules.
|
|
15
|
+
*
|
|
16
|
+
* For tons of information about this extension, see the wiki article:
|
|
17
|
+
* https://github.com/yaptv/YapDatabase/wiki/Relationships
|
|
18
|
+
**/
|
|
19
|
+
|
|
20
|
+
typedef enum {
|
|
21
|
+
YDB_SourceNodeDeleted,
|
|
22
|
+
YDB_DestinationNodeDeleted,
|
|
23
|
+
} YDB_NotifyReason;
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* There are 2 techniques you may use to add edges to the relationship graph:
|
|
28
|
+
*
|
|
29
|
+
* - Use the YapDatabaseRelationshipNode protocol
|
|
30
|
+
* - Manually manage the edges by adding / removing them yourself
|
|
31
|
+
*
|
|
32
|
+
* You are welcome to use either technique. In fact you can use them both simultaneously.
|
|
33
|
+
* Which you choose may simply be whichever works best depending on the situation.
|
|
34
|
+
*
|
|
35
|
+
* The YapDatabaseRelationshipNode protocol works quite simply:
|
|
36
|
+
*
|
|
37
|
+
* Any object that is stored in the database may optionally implement this protocol in order to
|
|
38
|
+
* specify a list of relationships that apply to it. The object just needs to:
|
|
39
|
+
* 1.) Add the YapDatabaseRelationshipNode protocol to its declared list of protocols (in header file)
|
|
40
|
+
* 2.) Implement the yapDatabaseRelationshipEdges method
|
|
41
|
+
*
|
|
42
|
+
* When the object is inserted or updated in the database, the YapDatabaseRelationshipExtension will automatically
|
|
43
|
+
* invoke the yapDatabaseRelationshipEdges method to get the list of edges. It then inserts the list of edges
|
|
44
|
+
* into the database (if object was inserted), or updates the previously inserted list (if object was updated).
|
|
45
|
+
*
|
|
46
|
+
* Typically this protocol is convenient to use if:
|
|
47
|
+
* - Your objects already contain identifiers that can be used to create the edges you desire
|
|
48
|
+
* - You'd like to be able to delete objects in the database by simply setting identifier properties to nil
|
|
49
|
+
*
|
|
50
|
+
* @see YapDatabaseRelationshipEdge
|
|
51
|
+
**/
|
|
52
|
+
@protocol YapDatabaseRelationshipNode <NSObject>
|
|
53
|
+
@required
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Implement this method in order to return the edges that start from this node.
|
|
57
|
+
* Note that although edges are directional, the associated rules are bidirectional.
|
|
58
|
+
*
|
|
59
|
+
* In terms of edge direction, this object is the "source" of the edge.
|
|
60
|
+
* And the object at the other end of the edge is called the "destination".
|
|
61
|
+
*
|
|
62
|
+
* Every edge also has a name (which can be any string you specify), and a bidirectional rule.
|
|
63
|
+
* For example, you could specify either of the following:
|
|
64
|
+
* - delete the destination if I am deleted
|
|
65
|
+
* - delete me if the destination is deleted
|
|
66
|
+
*
|
|
67
|
+
* In fact, you could specify both of those rules simultaneously for a single edge.
|
|
68
|
+
* And there are similar rules if your graph is one-to-many for this node.
|
|
69
|
+
*
|
|
70
|
+
* Thus it is unnecessary to duplicate the edge on the destination node.
|
|
71
|
+
* So you can pick which node you'd like to create the edge(s) from.
|
|
72
|
+
* Either side is fine, just pick whichever is easier, or whichever makes more sense for your data model.
|
|
73
|
+
*
|
|
74
|
+
* YapDatabaseRelationship supports one-to-one, one-to-many, and even many-to-many relationships.
|
|
75
|
+
*
|
|
76
|
+
* Important: This method will not be invoked unless the object implements the protocol.
|
|
77
|
+
* That is, the object's class declaration must have YapDatabaseRelationshipNode in its listed protocols.
|
|
78
|
+
*
|
|
79
|
+
* @interface MyObject : NSObject <YapDatabaseRelationshipNode> // <-- Must be in protocol list
|
|
80
|
+
*
|
|
81
|
+
* @see YapDatabaseRelationshipEdge
|
|
82
|
+
**/
|
|
83
|
+
- (NSArray *)yapDatabaseRelationshipEdges;
|
|
84
|
+
|
|
85
|
+
@optional
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* If an edge is deleted due to one of two associated nodes being deleted,
|
|
89
|
+
* and the edge has a notify rule associated with it (YDB_NotifyIfSourceDeleted or YDB_NotifyIfDestinationDeleted),
|
|
90
|
+
* then this method may be invoked on the remaining node.
|
|
91
|
+
*
|
|
92
|
+
* It doesn't matter which side created the edge (the source or destination side).
|
|
93
|
+
* If the rule exists, and the remaining side implements this particular
|
|
94
|
+
**/
|
|
95
|
+
- (id)yapDatabaseRelationshipEdgeDeleted:(YapDatabaseRelationshipEdge *)edge withReason:(YDB_NotifyReason)reason;
|
|
96
|
+
|
|
97
|
+
@end
|
|
98
|
+
|
|
99
|
+
|
data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Welcome to YapDatabase!
|
|
5
|
+
*
|
|
6
|
+
* The project page has a wealth of documentation if you have any questions.
|
|
7
|
+
* https://github.com/yaptv/YapDatabase
|
|
8
|
+
*
|
|
9
|
+
* If you're new to the project you may want to visit the wiki.
|
|
10
|
+
* https://github.com/yaptv/YapDatabase/wiki
|
|
11
|
+
*
|
|
12
|
+
* The YapDatabaseRelationship extension allow you to create relationships between objects,
|
|
13
|
+
* and configure automatic deletion rules.
|
|
14
|
+
*
|
|
15
|
+
* For tons of information about this extension, see the wiki article:
|
|
16
|
+
* https://github.com/yaptv/YapDatabase/wiki/Relationships
|
|
17
|
+
**/
|
|
18
|
+
|
|
19
|
+
@interface YapDatabaseRelationshipOptions : NSObject <NSCopying>
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* You can optionally completely disable the YapDatabaseRelationshipProtocol.
|
|
23
|
+
*
|
|
24
|
+
* If you don't use it at all (i.e. you manually manage all graph edges),
|
|
25
|
+
* then disabling the protocol, and its related processing, can reduce overhead.
|
|
26
|
+
*
|
|
27
|
+
* The default value is NO.
|
|
28
|
+
**/
|
|
29
|
+
@property (nonatomic, assign, readwrite) BOOL disableYapDatabaseRelationshipNodeProtocol;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* You can configure the extension to pre-filter all but a subset of collections.
|
|
33
|
+
*
|
|
34
|
+
* The primary motivation for this is to reduce the overhead when populating the graph.
|
|
35
|
+
* That is, when you first create the relationship extension, it will automatically enumerate all objects
|
|
36
|
+
* in the database and check to see if any of them implement the YapDatabaseRelationshipNode protocol.
|
|
37
|
+
* If there is only a single collection which includes objects implementing the YapDatabaseRelationshipNode protoco,
|
|
38
|
+
* then you could specify that collection here. So when the extension first populates itself,
|
|
39
|
+
* it will enumerate over just the allowedCollections, as opposed to enumerating over all collections.
|
|
40
|
+
* And enumerating a small subset of the entire database during graph population can improve speed,
|
|
41
|
+
* especially with larger databases.
|
|
42
|
+
*
|
|
43
|
+
* In addition to reducing the overhead when first populating the graph,
|
|
44
|
+
* the allowedCollections will pre-filter while you're making changes to the database.
|
|
45
|
+
* So if you add a new object to the database, and the associated collection isn't in allowedCollections,
|
|
46
|
+
* then the extension will skip any associated processing that would normally occur. (Things like checking to see
|
|
47
|
+
* if the object implements the YapDatabaseRelationshipNode protocol, and checking to see if there were previously
|
|
48
|
+
* any associated protocol edges for the object.)
|
|
49
|
+
*
|
|
50
|
+
* For all rows whose collection is in the allowedCollections, the extension works normally.
|
|
51
|
+
*
|
|
52
|
+
* Note: If you disable the YapDatabaseRelationshipNode protocol, then this configuration option is ignored
|
|
53
|
+
* because it already skips all associated processing.
|
|
54
|
+
*
|
|
55
|
+
* The default value is nil.
|
|
56
|
+
**/
|
|
57
|
+
@property (nonatomic, copy, readwrite) NSSet *allowedCollections;
|
|
58
|
+
|
|
59
|
+
@end
|
data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#import "YapDatabaseRelationshipOptions.h"
|
|
2
|
+
#import "YapDatabaseRelationshipPrivate.h"
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@implementation YapDatabaseRelationshipOptions
|
|
6
|
+
|
|
7
|
+
@synthesize disableYapDatabaseRelationshipNodeProtocol = disableYapDatabaseRelationshipNodeProtocol;
|
|
8
|
+
@synthesize allowedCollections = allowedCollections;
|
|
9
|
+
|
|
10
|
+
- (id)init
|
|
11
|
+
{
|
|
12
|
+
if ((self = [super init]))
|
|
13
|
+
{
|
|
14
|
+
disableYapDatabaseRelationshipNodeProtocol = NO;
|
|
15
|
+
allowedCollections = nil;
|
|
16
|
+
}
|
|
17
|
+
return self;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
- (id)copyWithZone:(NSZone *)zone
|
|
21
|
+
{
|
|
22
|
+
YapDatabaseRelationshipOptions *copy = [[YapDatabaseRelationshipOptions alloc] init];
|
|
23
|
+
copy->disableYapDatabaseRelationshipNodeProtocol = disableYapDatabaseRelationshipNodeProtocol;
|
|
24
|
+
copy->allowedCollections = allowedCollections;
|
|
25
|
+
|
|
26
|
+
return copy;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@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
|