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
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
@property (nonatomic, strong, readonly) NSString *collection;
|
|
15
15
|
@property (nonatomic, strong, readonly) NSString *key;
|
|
16
16
|
|
|
17
|
+
- (BOOL)isEqualToCollectionKey:(YapCollectionKey *)collectionKey;
|
|
18
|
+
|
|
19
|
+
// These methods are overriden and optimized:
|
|
17
20
|
- (BOOL)isEqual:(id)anObject;
|
|
18
21
|
- (NSUInteger)hash;
|
|
19
22
|
|
|
@@ -330,7 +330,7 @@ extern NSString *const YapDatabaseAllKeysRemovedKey;
|
|
|
330
330
|
|
|
331
331
|
#if TARGET_OS_IPHONE
|
|
332
332
|
/**
|
|
333
|
-
* Allows you to set the default
|
|
333
|
+
* Allows you to set the default autoFlushMemoryFlags for all new connections.
|
|
334
334
|
*
|
|
335
335
|
* When you create a connection via [database newConnection], that new connection will inherit
|
|
336
336
|
* its initial configuration via the default values configured for the parent database.
|
|
@@ -339,12 +339,12 @@ extern NSString *const YapDatabaseAllKeysRemovedKey;
|
|
|
339
339
|
* Changing the default values only affects future connections that will be created.
|
|
340
340
|
* It does not affect connections that have already been created.
|
|
341
341
|
*
|
|
342
|
-
* The default
|
|
342
|
+
* The default defaultAutoFlushMemoryFlags is YapDatabaseConnectionFlushMemoryFlags_All.
|
|
343
343
|
*
|
|
344
344
|
* For more detailed documentation on these properties, see the YapDatabaseConnection header file.
|
|
345
|
-
* @see YapDatabaseConnection
|
|
345
|
+
* @see YapDatabaseConnection autoFlushMemoryFlags
|
|
346
346
|
**/
|
|
347
|
-
@property (atomic, assign, readwrite) int
|
|
347
|
+
@property (atomic, assign, readwrite) int defaultAutoFlushMemoryFlags;
|
|
348
348
|
#endif
|
|
349
349
|
|
|
350
350
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -29,12 +29,14 @@
|
|
|
29
29
|
* But for conncurrent access between multiple threads you must use multiple connections.
|
|
30
30
|
**/
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
enum {
|
|
33
|
+
YapDatabaseConnectionFlushMemoryFlags_None = 0,
|
|
34
|
+
YapDatabaseConnectionFlushMemoryFlags_Caches = 1 << 0,
|
|
35
|
+
YapDatabaseConnectionFlushMemoryFlags_Statements = 1 << 1,
|
|
36
|
+
YapDatabaseConnectionFlushMemoryFlags_All = (YapDatabaseConnectionFlushMemoryFlags_Caches |
|
|
37
|
+
YapDatabaseConnectionFlushMemoryFlags_Statements),
|
|
38
|
+
};
|
|
39
|
+
typedef int YapDatabaseConnectionFlushMemoryFlags;
|
|
38
40
|
|
|
39
41
|
typedef enum {
|
|
40
42
|
YapDatabasePolicyContainment = 0,
|
|
@@ -418,30 +420,30 @@ typedef enum {
|
|
|
418
420
|
* Depending upon how often you use the database connection,
|
|
419
421
|
* you may want to be more or less aggressive on how much stuff you flush.
|
|
420
422
|
*
|
|
421
|
-
*
|
|
422
|
-
* No-op. Doesn't flush
|
|
423
|
+
* YapDatabaseConnectionFlushMemoryFlags_None:
|
|
424
|
+
* No-op. Doesn't flush anything.
|
|
423
425
|
*
|
|
424
|
-
*
|
|
425
|
-
* Flushes the object cache and metadata cache.
|
|
426
|
+
* YapDatabaseConnectionFlushMemoryFlags_Caches:
|
|
427
|
+
* Flushes all caches, including the object cache and metadata cache.
|
|
426
428
|
*
|
|
427
|
-
*
|
|
428
|
-
*
|
|
429
|
+
* YapDatabaseConnectionFlushMemoryFlags_Statements:
|
|
430
|
+
* Flushes all pre-compiled sqlite statements.
|
|
429
431
|
*
|
|
430
|
-
*
|
|
431
|
-
* Full flush of all caches and
|
|
432
|
+
* YapDatabaseConnectionFlushMemoryFlags_All:
|
|
433
|
+
* Full flush of all caches and pre-compiled sqlite statements.
|
|
432
434
|
**/
|
|
433
|
-
- (void)
|
|
435
|
+
- (void)flushMemoryWithFlags:(YapDatabaseConnectionFlushMemoryFlags)flags;
|
|
434
436
|
|
|
435
437
|
#if TARGET_OS_IPHONE
|
|
436
438
|
/**
|
|
437
439
|
* When a UIApplicationDidReceiveMemoryWarningNotification is received,
|
|
438
|
-
* the code automatically invokes
|
|
440
|
+
* the code automatically invokes flushMemoryWithFlags and passes the set flags.
|
|
439
441
|
*
|
|
440
|
-
* The default value is
|
|
442
|
+
* The default value is YapDatabaseConnectionFlushMemoryFlags_All.
|
|
441
443
|
*
|
|
442
|
-
* @see
|
|
444
|
+
* @see flushMemoryWithFlags:
|
|
443
445
|
**/
|
|
444
|
-
@property (atomic, assign, readwrite)
|
|
446
|
+
@property (atomic, assign, readwrite) YapDatabaseConnectionFlushMemoryFlags autoFlushMemoryFlags;
|
|
445
447
|
#endif
|
|
446
448
|
|
|
447
449
|
@end
|
|
@@ -1,26 +1,12 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
2
|
|
|
3
3
|
#import "YapDatabaseView.h"
|
|
4
|
+
|
|
5
|
+
#import "YapDatabaseFilteredViewTypes.h"
|
|
4
6
|
#import "YapDatabaseFilteredViewConnection.h"
|
|
5
7
|
#import "YapDatabaseFilteredViewTransaction.h"
|
|
6
8
|
|
|
7
9
|
|
|
8
|
-
#ifndef YapDatabaseViewFilteringBlockDefined
|
|
9
|
-
#define YapDatabaseViewFilteringBlockDefined 1
|
|
10
|
-
|
|
11
|
-
typedef id YapDatabaseViewFilteringBlock; // One of the YapDatabaseViewGroupingX types below.
|
|
12
|
-
|
|
13
|
-
typedef BOOL (^YapDatabaseViewFilteringWithKeyBlock) \
|
|
14
|
-
(NSString *group, NSString *collection, NSString *key);
|
|
15
|
-
typedef BOOL (^YapDatabaseViewFilteringWithObjectBlock) \
|
|
16
|
-
(NSString *group, NSString *collection, NSString *key, id object);
|
|
17
|
-
typedef BOOL (^YapDatabaseViewFilteringWithMetadataBlock)\
|
|
18
|
-
(NSString *group, NSString *collection, NSString *key, id metadata);
|
|
19
|
-
typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
20
|
-
(NSString *group, NSString *collection, NSString *key, id object, id metadata);
|
|
21
|
-
|
|
22
|
-
#endif
|
|
23
|
-
|
|
24
10
|
@interface YapDatabaseFilteredView : YapDatabaseView
|
|
25
11
|
|
|
26
12
|
/**
|
|
@@ -40,6 +26,8 @@ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
|
40
26
|
* It allows you to filter items from this view that exist in the parent view.
|
|
41
27
|
* You should pick a block type that requires the minimum number of parameters that you need.
|
|
42
28
|
*
|
|
29
|
+
* @see YapDatabaseViewTypes.h for block type definition(s).
|
|
30
|
+
*
|
|
43
31
|
* @param filteringBlockType
|
|
44
32
|
*
|
|
45
33
|
* This parameter identifies the type of filtering block being used.
|
|
@@ -48,6 +36,8 @@ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
|
48
36
|
* - YapDatabaseViewBlockTypeWithObject
|
|
49
37
|
* - YapDatabaseViewBlockTypeWithMetadata
|
|
50
38
|
* - YapDatabaseViewBlockTypeWithRow
|
|
39
|
+
*
|
|
40
|
+
* @see YapDatabaseViewTypes.h for block type definition(s).
|
|
51
41
|
*
|
|
52
42
|
* @param tag
|
|
53
43
|
*
|
|
@@ -70,12 +60,12 @@ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
|
70
60
|
- (id)initWithParentViewName:(NSString *)viewName
|
|
71
61
|
filteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
|
|
72
62
|
filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType
|
|
73
|
-
|
|
63
|
+
versionTag:(NSString *)versionTag;
|
|
74
64
|
|
|
75
65
|
- (id)initWithParentViewName:(NSString *)viewName
|
|
76
66
|
filteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
|
|
77
67
|
filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType
|
|
78
|
-
|
|
68
|
+
versionTag:(NSString *)versionTag
|
|
79
69
|
options:(YapDatabaseViewOptions *)options;
|
|
80
70
|
|
|
81
71
|
@property (nonatomic, strong, readonly) NSString *parentViewName;
|
|
@@ -83,23 +73,6 @@ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
|
83
73
|
@property (nonatomic, strong, readonly) YapDatabaseViewFilteringBlock filteringBlock;
|
|
84
74
|
@property (nonatomic, assign, readonly) YapDatabaseViewBlockType filteringBlockType;
|
|
85
75
|
|
|
86
|
-
/**
|
|
87
|
-
* The tag assists you in updating the filteringBlock.
|
|
88
|
-
*
|
|
89
|
-
* Whenever you change the filteringBlock, just specify a tag to associate with the block.
|
|
90
|
-
* The tag can help you to identify the filtering criteria, or perhaps be used as a versioning scheme.
|
|
91
|
-
*
|
|
92
|
-
* Here's how it works:
|
|
93
|
-
* The very first time you create the filteredView, it will populate itself from the parentView + filteringBlock.
|
|
94
|
-
* On subsequent app launches, when you re-register the filteredView, it will check the passed tag with
|
|
95
|
-
* the tag it has stored from the previous app session. If the tags match then the filteredView knows it doesn't
|
|
96
|
-
* have to do anything. (It's already setup from last app session.) However, if the tags don't match, then
|
|
97
|
-
* the filteredView will re-populate itself.
|
|
98
|
-
*
|
|
99
|
-
* It works the same way if you change the filteringBlock on-the-fly. (See setFilteringBlock:filteringBlockType:tag:)
|
|
100
|
-
**/
|
|
101
|
-
@property (nonatomic, copy, readonly) NSString *tag;
|
|
102
|
-
|
|
103
76
|
/**
|
|
104
77
|
* The options allow you to specify things like creating an IN-MEMORY-ONLY VIEW (non persistent).
|
|
105
78
|
**/
|
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
2
|
|
|
3
3
|
#import "YapDatabaseViewTransaction.h"
|
|
4
|
+
#import "YapDatabaseFilteredViewTypes.h"
|
|
4
5
|
#import "YapDatabaseFilteredView.h"
|
|
5
6
|
|
|
6
|
-
#ifndef YapDatabaseViewFilteringBlockDefined
|
|
7
|
-
#define YapDatabaseViewFilteringBlockDefined 1
|
|
8
|
-
|
|
9
|
-
typedef id YapDatabaseViewFilteringBlock; // One of the YapDatabaseViewGroupingX types below.
|
|
10
|
-
|
|
11
|
-
typedef BOOL (^YapDatabaseViewFilteringWithKeyBlock) \
|
|
12
|
-
(NSString *group, NSString *collection, NSString *key);
|
|
13
|
-
typedef BOOL (^YapDatabaseViewFilteringWithObjectBlock) \
|
|
14
|
-
(NSString *group, NSString *collection, NSString *key, id object);
|
|
15
|
-
typedef BOOL (^YapDatabaseViewFilteringWithMetadataBlock)\
|
|
16
|
-
(NSString *group, NSString *collection, NSString *key, id metadata);
|
|
17
|
-
typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
18
|
-
(NSString *group, NSString *collection, NSString *key, id object, id metadata);
|
|
19
|
-
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
7
|
|
|
23
8
|
@interface YapDatabaseFilteredViewTransaction : YapDatabaseViewTransaction
|
|
24
9
|
|
|
@@ -32,8 +17,23 @@ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
|
32
17
|
|
|
33
18
|
@interface YapDatabaseFilteredViewTransaction (ReadWrite)
|
|
34
19
|
|
|
20
|
+
/**
|
|
21
|
+
* This method allows you to change the filterBlock on-the-fly.
|
|
22
|
+
*
|
|
23
|
+
* When you do so, the extension will emit the smallest change-set possible.
|
|
24
|
+
* That is, it does NOT clear the view and start from scratch.
|
|
25
|
+
* Rather it performs a quick in-place update.
|
|
26
|
+
* The end result is a minimal change-set that looks nice for tableView / collectionView animations.
|
|
27
|
+
*
|
|
28
|
+
* For example, in Apple's phone app, in the Recents tab, one can switch between "all" and "missed" calls.
|
|
29
|
+
* Tapping the "missed" button smoothly animates away all non-red rows. It looks great.
|
|
30
|
+
* You can get the same effect by using a YapDatabaseFilteredView,
|
|
31
|
+
* and swapping in/out a filterBlock to allow/disallow non-missed calls.
|
|
32
|
+
*
|
|
33
|
+
* Note: You must pass a different versionTag, or this method does nothing.
|
|
34
|
+
**/
|
|
35
35
|
- (void)setFilteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
|
|
36
36
|
filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType
|
|
37
|
-
|
|
37
|
+
versionTag:(NSString *)tag;
|
|
38
38
|
|
|
39
39
|
@end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The filtering block removes items from this view that are in the parent view.
|
|
6
|
+
*
|
|
7
|
+
* A YapDatabaseFilteredView will have the same groups and same sort order as the parent,
|
|
8
|
+
* with the exception of those groups/rows that the filter block returned NO for.
|
|
9
|
+
*
|
|
10
|
+
* Here's how it works:
|
|
11
|
+
* When you initialize a YapDatabaseFilteredView instance, it will enumerate the parentView
|
|
12
|
+
* and invoke the filter block for every row in every group. So it can quickly copy a parentView as it
|
|
13
|
+
* doesn't have to perform any sorting.
|
|
14
|
+
*
|
|
15
|
+
* After its initialization, the filterView will automatically run for inserted / updated rows
|
|
16
|
+
* after the parentView has processed them. It then gets the group from parentView,
|
|
17
|
+
* and invokes the filterBlock again (if needed).
|
|
18
|
+
*
|
|
19
|
+
* You should choose a block type that takes the minimum number of required parameters.
|
|
20
|
+
* The filterView can make various optimizations based on required parameters of the block.
|
|
21
|
+
**/
|
|
22
|
+
typedef id YapDatabaseViewFilteringBlock; // One of the YapDatabaseViewGroupingX types below.
|
|
23
|
+
|
|
24
|
+
typedef BOOL (^YapDatabaseViewFilteringWithKeyBlock) \
|
|
25
|
+
(NSString *group, NSString *collection, NSString *key);
|
|
26
|
+
typedef BOOL (^YapDatabaseViewFilteringWithObjectBlock) \
|
|
27
|
+
(NSString *group, NSString *collection, NSString *key, id object);
|
|
28
|
+
typedef BOOL (^YapDatabaseViewFilteringWithMetadataBlock)\
|
|
29
|
+
(NSString *group, NSString *collection, NSString *key, id metadata);
|
|
30
|
+
typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
|
|
31
|
+
(NSString *group, NSString *collection, NSString *key, id object, id metadata);
|
|
32
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
#import "YapDatabaseExtension.h"
|
|
4
|
+
|
|
5
|
+
#import "YapDatabaseRelationshipNode.h"
|
|
6
|
+
#import "YapDatabaseRelationshipEdge.h"
|
|
7
|
+
#import "YapDatabaseRelationshipOptions.h"
|
|
8
|
+
#import "YapDatabaseRelationshipConnection.h"
|
|
9
|
+
#import "YapDatabaseRelationshipTransaction.h"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Welcome to YapDatabase!
|
|
13
|
+
*
|
|
14
|
+
* The project page has a wealth of documentation if you have any questions.
|
|
15
|
+
* https://github.com/yaptv/YapDatabase
|
|
16
|
+
*
|
|
17
|
+
* If you're new to the project you may want to visit the wiki.
|
|
18
|
+
* https://github.com/yaptv/YapDatabase/wiki
|
|
19
|
+
*
|
|
20
|
+
* The YapDatabaseRelationship extension allow you to create relationships between objects,
|
|
21
|
+
* and configure automatic deletion rules.
|
|
22
|
+
*
|
|
23
|
+
* For tons of information about this extension, see the wiki article:
|
|
24
|
+
* https://github.com/yaptv/YapDatabase/wiki/Relationships
|
|
25
|
+
**/
|
|
26
|
+
|
|
27
|
+
@interface YapDatabaseRelationship : YapDatabaseExtension
|
|
28
|
+
|
|
29
|
+
- (id)init;
|
|
30
|
+
|
|
31
|
+
- (id)initWithVersion:(int)version;
|
|
32
|
+
|
|
33
|
+
- (id)initWithVersion:(int)version options:(YapDatabaseRelationshipOptions *)options;
|
|
34
|
+
|
|
35
|
+
@end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import "YapDatabaseExtensionConnection.h"
|
|
3
|
+
|
|
4
|
+
@class YapDatabaseRelationship;
|
|
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 YapDatabaseRelationshipConnection : YapDatabaseExtensionConnection
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Returns the parent view instance.
|
|
26
|
+
**/
|
|
27
|
+
@property (nonatomic, strong, readonly) YapDatabaseRelationship *relationship;
|
|
28
|
+
|
|
29
|
+
@end
|
|
@@ -0,0 +1,163 @@
|
|
|
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
|
+
enum {
|
|
20
|
+
// notify only
|
|
21
|
+
YDB_NotifyIfSourceDeleted = 1 << 0,
|
|
22
|
+
YDB_NotifyIfDestinationDeleted = 1 << 1,
|
|
23
|
+
|
|
24
|
+
// one-to-one
|
|
25
|
+
YDB_DeleteSourceIfDestinationDeleted = 1 << 2,
|
|
26
|
+
YDB_DeleteDestinationIfSourceDeleted = 1 << 3,
|
|
27
|
+
|
|
28
|
+
// one-to-many & many-to-many
|
|
29
|
+
YDB_DeleteSourceIfAllDestinationsDeleted = 1 << 4,
|
|
30
|
+
YDB_DeleteDestinationIfAllSourcesDeleted = 1 << 5,
|
|
31
|
+
};
|
|
32
|
+
typedef uint16_t YDB_NodeDeleteRules;
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@interface YapDatabaseRelationshipEdge : NSObject <NSCoding, NSCopying>
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Returns an edge with the given name, destination & nodeDeleteRules.
|
|
39
|
+
*
|
|
40
|
+
* This method is suitable for use with the YapDatabaseRelationshipNode protocol.
|
|
41
|
+
* When using this protocol, the source object is directly queried by the YapDatabaseRelationship extension.
|
|
42
|
+
* Thus the extension already knows what the source node is,
|
|
43
|
+
* and so the source node information (sourceKey & sourceCollection) doesn't need to be explicitly set on the edge.
|
|
44
|
+
*
|
|
45
|
+
* This method is not suitable for use with manual edge management.
|
|
46
|
+
* When manually adding an edge, you must fully specify the source node.
|
|
47
|
+
**/
|
|
48
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
49
|
+
destinationKey:(NSString *)destinationKey
|
|
50
|
+
collection:(NSString *)destinationCollection
|
|
51
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns an edge with the given name, destinationFilePath & nodeDeleteRules.
|
|
55
|
+
*
|
|
56
|
+
* When using a destinationFilePath, only a subset of the nodeDeleteRules apply.
|
|
57
|
+
* Specifically only the following work:
|
|
58
|
+
* - YDB_DeleteDestinationIfSourceDeleted
|
|
59
|
+
* - YDB_DeleteDestinationIfAllSourcesDeleted
|
|
60
|
+
*
|
|
61
|
+
* This method is suitable for use with the YapDatabaseRelationshipNode protocol.
|
|
62
|
+
* When using this protocol, the source object is directly queried by the YapDatabaseRelationship extension.
|
|
63
|
+
* Thus the extension already knows what the source node is,
|
|
64
|
+
* and so the source node information (sourceKey & sourceCollection) doesn't need to be explicitly set on the edge.
|
|
65
|
+
*
|
|
66
|
+
* This method is not suitable for use with manual edge management.
|
|
67
|
+
* When directly adding an edge, you must fully specify the source node.
|
|
68
|
+
**/
|
|
69
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
70
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
71
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Returns a fully specified edge.
|
|
75
|
+
*
|
|
76
|
+
* This method is suitable for use with manual edge management.
|
|
77
|
+
*
|
|
78
|
+
* If you're using the YapDatabaseRelationshipNode protocol, then you can use the shorter version of this method
|
|
79
|
+
* which doesn't specify the source node. This is because the source node is implied with the
|
|
80
|
+
* YapDatabaseRelationshipNode protocol, and thus doesn't need to be explicitly specified in the edge.
|
|
81
|
+
**/
|
|
82
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
83
|
+
sourceKey:(NSString *)sourceKey
|
|
84
|
+
collection:(NSString *)sourceCollection
|
|
85
|
+
destinationKey:(NSString *)destinationKey
|
|
86
|
+
collection:(NSString *)destinationCollection
|
|
87
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Returns a fully specified edge.
|
|
91
|
+
*
|
|
92
|
+
* When using a destinationFilePath, only a subset of the nodeDeleteRules apply.
|
|
93
|
+
* Specifically only the following work:
|
|
94
|
+
* - YDB_DeleteDestinationIfSourceDeleted
|
|
95
|
+
* - YDB_DeleteDestinationIfAllSourcesDeleted
|
|
96
|
+
*
|
|
97
|
+
* This method is suitable for use with manual edge management.
|
|
98
|
+
*
|
|
99
|
+
* If you're using the YapDatabaseRelationshipNode protocol, then you can use the shorter version of this method
|
|
100
|
+
* which doesn't specify the source node. This is because the source node is implied with the
|
|
101
|
+
* YapDatabaseRelationshipNode protocol, and thus doesn't need to be explicitly specified in the edge.
|
|
102
|
+
**/
|
|
103
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
104
|
+
sourceKey:(NSString *)sourceKey
|
|
105
|
+
collection:(NSString *)sourceCollection
|
|
106
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
107
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
108
|
+
|
|
109
|
+
#pragma mark Init
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* For documentation @see edgeWithName:destinationKey:collection:nodeDeleteRules:
|
|
113
|
+
**/
|
|
114
|
+
- (id)initWithName:(NSString *)name
|
|
115
|
+
destinationKey:(NSString *)key
|
|
116
|
+
collection:(NSString *)collection
|
|
117
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* For documentation @see edgeWithName:destinationFilePath:nodeDeleteRules:
|
|
121
|
+
**/
|
|
122
|
+
- (id)initWithName:(NSString *)name destinationFilePath:(NSString *)destinationFilePath
|
|
123
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* For documentation @see edgeWithName:sourceKey:collection:destinationKey:collection:nodeDeleteRules:
|
|
127
|
+
**/
|
|
128
|
+
- (id)initWithName:(NSString *)name
|
|
129
|
+
sourceKey:(NSString *)sourceKey
|
|
130
|
+
collection:(NSString *)sourceCollection
|
|
131
|
+
destinationKey:(NSString *)destinationKey
|
|
132
|
+
collection:(NSString *)destinationCollection
|
|
133
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* For documentation @see edgeWithName:sourceKey:collection:destinationFilePath:nodeDeleteRules:
|
|
137
|
+
**/
|
|
138
|
+
- (id)initWithName:(NSString *)name sourceKey:(NSString *)sourceKey
|
|
139
|
+
collection:(NSString *)sourceCollection
|
|
140
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
141
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules;
|
|
142
|
+
|
|
143
|
+
#pragma mark Properties
|
|
144
|
+
|
|
145
|
+
@property (nonatomic, copy, readonly) NSString *name;
|
|
146
|
+
|
|
147
|
+
@property (nonatomic, copy, readonly) NSString *sourceKey;
|
|
148
|
+
@property (nonatomic, copy, readonly) NSString *sourceCollection;
|
|
149
|
+
|
|
150
|
+
@property (nonatomic, copy, readonly) NSString *destinationKey;
|
|
151
|
+
@property (nonatomic, copy, readonly) NSString *destinationCollection;
|
|
152
|
+
|
|
153
|
+
@property (nonatomic, copy, readonly) NSString *destinationFilePath;
|
|
154
|
+
|
|
155
|
+
@property (nonatomic, assign, readonly) YDB_NodeDeleteRules nodeDeleteRules;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* NO if the edge was created via the YapDatabaseRelationshipNode protocol.
|
|
159
|
+
* YES if the edge was created via "manual edge management" methods.
|
|
160
|
+
**/
|
|
161
|
+
@property (nonatomic, assign, readonly) BOOL isManualEdge;
|
|
162
|
+
|
|
163
|
+
@end
|