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/YapDatabaseRelationshipEdge.h
ADDED
|
@@ -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
|
data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m
ADDED
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
#import "YapDatabaseRelationshipEdge.h"
|
|
2
|
+
#import "YapDatabaseRelationshipEdgePrivate.h"
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@implementation YapDatabaseRelationshipEdge
|
|
6
|
+
|
|
7
|
+
@synthesize name = name;
|
|
8
|
+
|
|
9
|
+
@synthesize sourceCollection = sourceCollection;
|
|
10
|
+
@synthesize sourceKey = sourceKey;
|
|
11
|
+
|
|
12
|
+
@synthesize destinationCollection = destinationCollection;
|
|
13
|
+
@synthesize destinationKey = destinationKey;
|
|
14
|
+
|
|
15
|
+
@synthesize destinationFilePath = destinationFilePath;
|
|
16
|
+
|
|
17
|
+
@synthesize nodeDeleteRules = nodeDeleteRules;
|
|
18
|
+
@synthesize isManualEdge = isManualEdge;
|
|
19
|
+
|
|
20
|
+
#pragma mark Class Init
|
|
21
|
+
|
|
22
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
23
|
+
destinationKey:(NSString *)destinationKey
|
|
24
|
+
collection:(NSString *)destinationCollection
|
|
25
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
26
|
+
{
|
|
27
|
+
return [[YapDatabaseRelationshipEdge alloc] initWithName:name
|
|
28
|
+
destinationKey:destinationKey
|
|
29
|
+
collection:destinationCollection
|
|
30
|
+
nodeDeleteRules:rules];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
34
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
35
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
36
|
+
{
|
|
37
|
+
return [[YapDatabaseRelationshipEdge alloc] initWithName:name
|
|
38
|
+
destinationFilePath:destinationFilePath
|
|
39
|
+
nodeDeleteRules:rules];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
43
|
+
sourceKey:(NSString *)sourceKey
|
|
44
|
+
collection:(NSString *)sourceCollection
|
|
45
|
+
destinationKey:(NSString *)destinationKey
|
|
46
|
+
collection:(NSString *)destinationCollection
|
|
47
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
48
|
+
{
|
|
49
|
+
return [[YapDatabaseRelationshipEdge alloc] initWithName:name
|
|
50
|
+
sourceKey:sourceKey
|
|
51
|
+
collection:sourceCollection
|
|
52
|
+
destinationKey:destinationKey
|
|
53
|
+
collection:destinationCollection
|
|
54
|
+
nodeDeleteRules:rules];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
+ (instancetype)edgeWithName:(NSString *)name
|
|
58
|
+
sourceKey:(NSString *)sourceKey
|
|
59
|
+
collection:(NSString *)sourceCollection
|
|
60
|
+
destinationFilePath:(NSString *)destinationFilePath
|
|
61
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
62
|
+
{
|
|
63
|
+
return [[YapDatabaseRelationshipEdge alloc] initWithName:name
|
|
64
|
+
sourceKey:sourceKey
|
|
65
|
+
collection:sourceCollection
|
|
66
|
+
destinationFilePath:destinationFilePath
|
|
67
|
+
nodeDeleteRules:rules];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
#pragma mark Init
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Public init method.
|
|
74
|
+
* Suitable for use with YapDatabaseRelationshipNode protocol.
|
|
75
|
+
**/
|
|
76
|
+
- (id)initWithName:(NSString *)inName
|
|
77
|
+
destinationKey:(NSString *)dstKey
|
|
78
|
+
collection:(NSString *)dstCollection
|
|
79
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
80
|
+
{
|
|
81
|
+
if (inName == nil) return nil; // Edge requires name
|
|
82
|
+
if (dstKey == nil) return nil; // Edge requires destination
|
|
83
|
+
|
|
84
|
+
if ((self = [super init]))
|
|
85
|
+
{
|
|
86
|
+
name = [inName copy];
|
|
87
|
+
|
|
88
|
+
destinationKey = [dstKey copy];
|
|
89
|
+
destinationCollection = dstCollection ? [dstCollection copy] : @"";
|
|
90
|
+
|
|
91
|
+
nodeDeleteRules = rules;
|
|
92
|
+
isManualEdge = NO;
|
|
93
|
+
}
|
|
94
|
+
return self;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Public init method.
|
|
99
|
+
* Suitable for use with YapDatabaseRelationshipNode protocol.
|
|
100
|
+
**/
|
|
101
|
+
- (id)initWithName:(NSString *)inName destinationFilePath:(NSString *)dstFilePath
|
|
102
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
103
|
+
{
|
|
104
|
+
if (inName == nil) return nil; // Edge requires name
|
|
105
|
+
if (dstFilePath == nil) return nil; // Edge requires destination
|
|
106
|
+
|
|
107
|
+
if ((self = [super init]))
|
|
108
|
+
{
|
|
109
|
+
name = [inName copy];
|
|
110
|
+
|
|
111
|
+
destinationFilePath = [dstFilePath copy];
|
|
112
|
+
|
|
113
|
+
nodeDeleteRules = rules;
|
|
114
|
+
isManualEdge = NO;
|
|
115
|
+
|
|
116
|
+
flags = YDB_FlagsHasDestinationRowid; // no need for destinationRowid lookup
|
|
117
|
+
}
|
|
118
|
+
return self;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Public init method.
|
|
123
|
+
* Suitable for use with manual edge management.
|
|
124
|
+
**/
|
|
125
|
+
- (id)initWithName:(NSString *)inName
|
|
126
|
+
sourceKey:(NSString *)srcKey
|
|
127
|
+
collection:(NSString *)srcCollection
|
|
128
|
+
destinationKey:(NSString *)dstKey
|
|
129
|
+
collection:(NSString *)dstCollection
|
|
130
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
131
|
+
{
|
|
132
|
+
if (inName == nil) return nil; // Edge requires name
|
|
133
|
+
if (srcKey == nil) return nil; // Edge requires source
|
|
134
|
+
if (dstKey == nil) return nil; // Edge requires destination
|
|
135
|
+
|
|
136
|
+
if ((self = [super init]))
|
|
137
|
+
{
|
|
138
|
+
name = [inName copy];
|
|
139
|
+
|
|
140
|
+
sourceKey = [srcKey copy];
|
|
141
|
+
sourceCollection = srcCollection ? [srcCollection copy] : @"";
|
|
142
|
+
|
|
143
|
+
destinationKey = [dstKey copy];
|
|
144
|
+
destinationCollection = dstCollection ? [dstCollection copy] : @"";
|
|
145
|
+
|
|
146
|
+
nodeDeleteRules = rules;
|
|
147
|
+
isManualEdge = YES;
|
|
148
|
+
}
|
|
149
|
+
return self;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
- (id)initWithName:(NSString *)inName sourceKey:(NSString *)srcKey
|
|
153
|
+
collection:(NSString *)srcCollection
|
|
154
|
+
destinationFilePath:(NSString *)dstFilePath
|
|
155
|
+
nodeDeleteRules:(YDB_NodeDeleteRules)rules
|
|
156
|
+
{
|
|
157
|
+
if (inName == nil) return nil; // Edge requires name
|
|
158
|
+
if (srcKey == nil) return nil; // Edge requires source
|
|
159
|
+
if (dstFilePath == nil) return nil; // Edge requires destination
|
|
160
|
+
|
|
161
|
+
if ((self = [super init]))
|
|
162
|
+
{
|
|
163
|
+
name = [inName copy];
|
|
164
|
+
|
|
165
|
+
sourceKey = [srcKey copy];
|
|
166
|
+
sourceCollection = srcCollection ? [srcCollection copy] : @"";
|
|
167
|
+
|
|
168
|
+
destinationFilePath = [dstFilePath copy];
|
|
169
|
+
|
|
170
|
+
nodeDeleteRules = rules;
|
|
171
|
+
isManualEdge = YES;
|
|
172
|
+
|
|
173
|
+
flags = YDB_FlagsHasDestinationRowid; // no need for destinationRowid lookup
|
|
174
|
+
}
|
|
175
|
+
return self;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Internal init method.
|
|
180
|
+
* This method is used when reading an edge from a row in the database.
|
|
181
|
+
**/
|
|
182
|
+
- (id)initWithRowid:(int64_t)rowid
|
|
183
|
+
name:(NSString *)inName
|
|
184
|
+
src:(int64_t)src
|
|
185
|
+
dst:(int64_t)dst
|
|
186
|
+
dstFilePath:(NSString *)dstFilePath
|
|
187
|
+
rules:(int)rules
|
|
188
|
+
manual:(BOOL)manual
|
|
189
|
+
{
|
|
190
|
+
if ((self = [super init]))
|
|
191
|
+
{
|
|
192
|
+
name = [inName copy];
|
|
193
|
+
destinationFilePath = [dstFilePath copy];
|
|
194
|
+
nodeDeleteRules = rules;
|
|
195
|
+
isManualEdge = manual;
|
|
196
|
+
|
|
197
|
+
edgeRowid = rowid;
|
|
198
|
+
sourceRowid = src;
|
|
199
|
+
destinationRowid = dst;
|
|
200
|
+
|
|
201
|
+
flags = YDB_FlagsHasSourceRowid | YDB_FlagsHasDestinationRowid | YDB_FlagsHasEdgeRowid;
|
|
202
|
+
}
|
|
203
|
+
return self;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
#pragma mark NSCoding
|
|
207
|
+
|
|
208
|
+
- (id)initWithCoder:(NSCoder *)decoder
|
|
209
|
+
{
|
|
210
|
+
if ((self = [super init]))
|
|
211
|
+
{
|
|
212
|
+
name = [decoder decodeObjectForKey:@"name"];
|
|
213
|
+
|
|
214
|
+
sourceKey = [decoder decodeObjectForKey:@"sourceKey"];
|
|
215
|
+
sourceCollection = [decoder decodeObjectForKey:@"sourceCollection"];
|
|
216
|
+
|
|
217
|
+
destinationKey = [decoder decodeObjectForKey:@"destinationKey"];
|
|
218
|
+
destinationCollection = [decoder decodeObjectForKey:@"destinationCollection"];
|
|
219
|
+
|
|
220
|
+
destinationFilePath = [decoder decodeObjectForKey:@"destinationFilePath"];
|
|
221
|
+
|
|
222
|
+
nodeDeleteRules = [decoder decodeIntForKey:@"nodeDeleteRules"];
|
|
223
|
+
isManualEdge = [decoder decodeBoolForKey:@"isManualEdge"];
|
|
224
|
+
|
|
225
|
+
if (destinationFilePath)
|
|
226
|
+
flags = YDB_FlagsHasDestinationRowid;
|
|
227
|
+
else
|
|
228
|
+
flags = YDB_FlagsNone;
|
|
229
|
+
}
|
|
230
|
+
return self;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
- (void)encodeWithCoder:(NSCoder *)coder
|
|
234
|
+
{
|
|
235
|
+
[coder encodeObject:name forKey:@"name"];
|
|
236
|
+
|
|
237
|
+
[coder encodeObject:sourceKey forKey:@"sourceKey"];
|
|
238
|
+
[coder encodeObject:sourceCollection forKey:@"sourceCollection"];
|
|
239
|
+
|
|
240
|
+
[coder encodeObject:destinationKey forKey:@"destinationKey"];
|
|
241
|
+
[coder encodeObject:destinationCollection forKey:@"destinationCollection"];
|
|
242
|
+
|
|
243
|
+
[coder encodeObject:destinationFilePath forKey:@"destinationFilePath"];
|
|
244
|
+
|
|
245
|
+
[coder encodeInt:nodeDeleteRules forKey:@"nodeDeleteRules"];
|
|
246
|
+
[coder encodeBool:isManualEdge forKey:@"isManualEdge"];
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
#pragma mark NSCopying
|
|
250
|
+
|
|
251
|
+
- (id)copyWithZone:(NSZone *)zone
|
|
252
|
+
{
|
|
253
|
+
YapDatabaseRelationshipEdge *copy = [[YapDatabaseRelationshipEdge alloc] init];
|
|
254
|
+
|
|
255
|
+
copy->name = name;
|
|
256
|
+
copy->sourceKey = sourceKey;
|
|
257
|
+
copy->sourceCollection = sourceCollection;
|
|
258
|
+
copy->destinationKey = destinationKey;
|
|
259
|
+
copy->destinationCollection = destinationCollection;
|
|
260
|
+
copy->destinationFilePath = destinationFilePath;
|
|
261
|
+
copy->nodeDeleteRules = nodeDeleteRules;
|
|
262
|
+
copy->isManualEdge = isManualEdge;
|
|
263
|
+
|
|
264
|
+
copy->edgeRowid = edgeRowid;
|
|
265
|
+
copy->sourceRowid = sourceRowid;
|
|
266
|
+
copy->destinationRowid = destinationRowid;
|
|
267
|
+
|
|
268
|
+
copy->edgeAction = YDB_EdgeActionNone; // Return a clean copy
|
|
269
|
+
copy->flags = YDB_FlagsNone; // Return a clean copy
|
|
270
|
+
|
|
271
|
+
// Set appropriate flags
|
|
272
|
+
|
|
273
|
+
if ((flags & YDB_FlagsHasSourceRowid))
|
|
274
|
+
copy->flags |= YDB_FlagsHasSourceRowid;
|
|
275
|
+
|
|
276
|
+
if ((flags & YDB_FlagsHasDestinationRowid) || destinationFilePath)
|
|
277
|
+
copy->flags |= YDB_FlagsHasDestinationRowid;
|
|
278
|
+
|
|
279
|
+
if ((flags & YDB_FlagsHasEdgeRowid))
|
|
280
|
+
copy->flags |= YDB_FlagsHasEdgeRowid;
|
|
281
|
+
|
|
282
|
+
return copy;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
- (id)copyWithSourceKey:(NSString *)newSrcKey collection:(NSString *)newSrcCollection rowid:(int64_t)newSrcRowid
|
|
286
|
+
{
|
|
287
|
+
YapDatabaseRelationshipEdge *copy = [[YapDatabaseRelationshipEdge alloc] init];
|
|
288
|
+
|
|
289
|
+
copy->name = name;
|
|
290
|
+
copy->sourceKey = [newSrcKey copy];
|
|
291
|
+
copy->sourceCollection = [newSrcCollection copy];
|
|
292
|
+
copy->destinationKey = destinationKey;
|
|
293
|
+
copy->destinationCollection = destinationCollection;
|
|
294
|
+
copy->destinationFilePath = destinationFilePath;
|
|
295
|
+
copy->nodeDeleteRules = nodeDeleteRules;
|
|
296
|
+
copy->isManualEdge = NO; // Force proper value
|
|
297
|
+
|
|
298
|
+
copy->edgeRowid = edgeRowid;
|
|
299
|
+
copy->sourceRowid = newSrcRowid;
|
|
300
|
+
copy->destinationRowid = destinationRowid;
|
|
301
|
+
|
|
302
|
+
copy->edgeAction = YDB_EdgeActionNone; // Return a clean copy
|
|
303
|
+
copy->flags = YDB_FlagsNone; // Return a clean copy
|
|
304
|
+
|
|
305
|
+
// Set appropriate flags
|
|
306
|
+
|
|
307
|
+
copy->flags |= YDB_FlagsHasSourceRowid;
|
|
308
|
+
|
|
309
|
+
if ((flags & YDB_FlagsHasDestinationRowid) || destinationFilePath)
|
|
310
|
+
copy->flags |= YDB_FlagsHasDestinationRowid;
|
|
311
|
+
|
|
312
|
+
if ((flags & YDB_FlagsHasEdgeRowid))
|
|
313
|
+
copy->flags |= YDB_FlagsHasEdgeRowid;
|
|
314
|
+
|
|
315
|
+
return copy;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
#pragma mark Comparison
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Compares two manual edges to see if they represent the same relationship.
|
|
322
|
+
* That is, if both edges are manual edges, and the following are equal:
|
|
323
|
+
*
|
|
324
|
+
* - name
|
|
325
|
+
* - sourceKey / sourceCollection
|
|
326
|
+
* - destinationKey / destinationCollection
|
|
327
|
+
* - destinationFilePath
|
|
328
|
+
*
|
|
329
|
+
* The nodeDeleteRules do NOT need to match.
|
|
330
|
+
**/
|
|
331
|
+
- (BOOL)matchesManualEdge:(YapDatabaseRelationshipEdge *)edge
|
|
332
|
+
{
|
|
333
|
+
if (edge == nil) return NO;
|
|
334
|
+
|
|
335
|
+
if (!isManualEdge) return NO;
|
|
336
|
+
if (!edge->isManualEdge) return NO;
|
|
337
|
+
|
|
338
|
+
if (![name isEqualToString:edge->name]) return NO;
|
|
339
|
+
|
|
340
|
+
if (![sourceKey isEqualToString:edge->sourceKey]) return NO;
|
|
341
|
+
if (![sourceCollection isEqualToString:edge->sourceCollection]) return NO;
|
|
342
|
+
|
|
343
|
+
if (destinationFilePath)
|
|
344
|
+
{
|
|
345
|
+
if (![destinationFilePath isEqualToString:edge->destinationFilePath]) return NO;
|
|
346
|
+
}
|
|
347
|
+
else
|
|
348
|
+
{
|
|
349
|
+
if (![destinationKey isEqualToString:edge->destinationKey]) return NO;
|
|
350
|
+
if (![destinationCollection isEqualToString:edge->destinationCollection]) return NO;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return YES;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
#pragma mark Description
|
|
357
|
+
|
|
358
|
+
- (NSString *)description
|
|
359
|
+
{
|
|
360
|
+
NSMutableString *rules = [NSMutableString stringWithCapacity:64];
|
|
361
|
+
|
|
362
|
+
if (nodeDeleteRules & YDB_NotifyIfSourceDeleted)
|
|
363
|
+
[rules appendString:@"NotifyIfSourceDeleted, "];
|
|
364
|
+
|
|
365
|
+
if (nodeDeleteRules & YDB_NotifyIfDestinationDeleted)
|
|
366
|
+
[rules appendString:@"NotifyIfDestinationDeleted, "];
|
|
367
|
+
|
|
368
|
+
if (nodeDeleteRules & YDB_DeleteSourceIfDestinationDeleted)
|
|
369
|
+
[rules appendString:@"DeleteSourceIfDestinationDeleted, "];
|
|
370
|
+
|
|
371
|
+
if (nodeDeleteRules & YDB_DeleteDestinationIfSourceDeleted)
|
|
372
|
+
[rules appendString:@"DeleteDestinationIfSourceDeleted, "];
|
|
373
|
+
|
|
374
|
+
if (nodeDeleteRules & YDB_DeleteSourceIfAllDestinationsDeleted)
|
|
375
|
+
[rules appendString:@"DeleteSourceIfAllDestinationsDeleted, "];
|
|
376
|
+
|
|
377
|
+
if (nodeDeleteRules & YDB_DeleteDestinationIfAllSourcesDeleted)
|
|
378
|
+
[rules appendString:@"DeleteDestinationIfAllSourcesDeleted, "];
|
|
379
|
+
|
|
380
|
+
if ([rules length] > 0)
|
|
381
|
+
[rules deleteCharactersInRange:NSMakeRange([rules length] - 2, 2)];
|
|
382
|
+
|
|
383
|
+
NSMutableString *description = [NSMutableString stringWithCapacity:128];
|
|
384
|
+
|
|
385
|
+
[description appendFormat:@"<YapDatabaseRelationshipEdge[%p]", self];
|
|
386
|
+
[description appendFormat:@" name(%@)", name];
|
|
387
|
+
|
|
388
|
+
if (sourceKey)
|
|
389
|
+
[description appendFormat:@" src(%@, %@)", sourceKey, (sourceCollection ?: @"")];
|
|
390
|
+
|
|
391
|
+
if (destinationKey)
|
|
392
|
+
[description appendFormat:@" dst(%@, %@)", destinationKey, (destinationCollection ?: @"")];
|
|
393
|
+
else
|
|
394
|
+
[description appendFormat:@" dstFilePath(%@)", destinationFilePath];
|
|
395
|
+
|
|
396
|
+
[description appendFormat:@" rules(%@)", rules];
|
|
397
|
+
|
|
398
|
+
if (isManualEdge)
|
|
399
|
+
{
|
|
400
|
+
[description appendString:@" manual"];
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
[description appendString:@">"];
|
|
404
|
+
|
|
405
|
+
return description;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
@end
|