motion-yapper 0.0.3 → 0.1.0
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 +1 -0
- data/.travis.yml +3 -1
- data/lib/yapper.rb +3 -3
- data/lib/yapper/db.rb +61 -4
- data/lib/yapper/document/persistence.rb +4 -0
- data/lib/yapper/document/selection.rb +13 -0
- data/lib/yapper/version.rb +1 -1
- data/motion-yapper.gemspec +1 -1
- data/spec/integration/search_spec.rb +111 -0
- data/vendor/Podfile.lock +11 -7
- data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +16 -2
- data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +10 -7
- data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +20 -2
- metadata +19 -297
- 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 +0 -41
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +0 -102
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDContextFilterLogFormatter.h +0 -63
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDDispatchQueueLogFormatter.h +0 -128
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +0 -369
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog+LOGV.h +0 -99
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +0 -634
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDMultiFormatter.h +0 -30
- data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +0 -181
- data/vendor/Pods/BuildHeaders/NSData+MD5Digest/NSData+MD5Digest.h +0 -18
- data/vendor/Pods/BuildHeaders/YapDatabase/NSDictionary+YapDatabase.h +0 -8
- data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +0 -91
- data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +0 -23
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +0 -547
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +0 -449
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnectionState.h +0 -29
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +0 -37
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtension.h +0 -15
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionConnection.h +0 -11
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +0 -444
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionTransaction.h +0 -11
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +0 -81
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewConnection.h +0 -12
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -17
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +0 -39
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTypes.h +0 -32
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearch.h +0 -89
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchConnection.h +0 -32
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +0 -77
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +0 -79
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchTransaction.h +0 -68
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseLogging.h +0 -158
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseManager.h +0 -17
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +0 -446
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseQuery.h +0 -42
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationship.h +0 -35
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipConnection.h +0 -29
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdge.h +0 -163
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdgePrivate.h +0 -79
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipNode.h +0 -99
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipOptions.h +0 -59
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipPrivate.h +0 -125
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipTransaction.h +0 -384
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +0 -149
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexConnection.h +0 -33
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +0 -83
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetup.h +0 -33
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetupPrivate.h +0 -18
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +0 -58
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseStatement.h +0 -13
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseString.h +0 -121
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +0 -651
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +0 -127
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +0 -272
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChangePrivate.h +0 -94
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +0 -116
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +0 -842
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappingsPrivate.h +0 -72
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +0 -63
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPage.h +0 -36
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPageMetadata.h +0 -27
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +0 -170
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptions.h +0 -330
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +0 -17
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +0 -498
- data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTypes.h +0 -99
- data/vendor/Pods/BuildHeaders/YapDatabase/YapMemoryTable.h +0 -74
- data/vendor/Pods/BuildHeaders/YapDatabase/YapNull.h +0 -17
- data/vendor/Pods/BuildHeaders/YapDatabase/YapSet.h +0 -41
- data/vendor/Pods/BuildHeaders/YapDatabase/YapTouch.h +0 -15
- data/vendor/Pods/CocoaLumberjack/LICENSE.txt +0 -18
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +0 -41
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +0 -100
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +0 -102
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +0 -727
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +0 -369
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +0 -1539
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog+LOGV.h +0 -99
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +0 -634
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +0 -1208
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +0 -181
- data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +0 -1520
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.h +0 -63
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.m +0 -191
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.h +0 -128
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.m +0 -253
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.h +0 -30
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.m +0 -127
- data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +0 -7
- data/vendor/Pods/CocoaLumberjack/README.markdown +0 -74
- data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +0 -41
- data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +0 -102
- data/vendor/Pods/Headers/CocoaLumberjack/DDContextFilterLogFormatter.h +0 -63
- data/vendor/Pods/Headers/CocoaLumberjack/DDDispatchQueueLogFormatter.h +0 -128
- data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +0 -369
- data/vendor/Pods/Headers/CocoaLumberjack/DDLog+LOGV.h +0 -99
- data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +0 -634
- data/vendor/Pods/Headers/CocoaLumberjack/DDMultiFormatter.h +0 -30
- data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +0 -181
- data/vendor/Pods/Headers/NSData+MD5Digest/NSData+MD5Digest.h +0 -18
- data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +0 -23
- data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +0 -547
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +0 -449
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtension.h +0 -15
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionConnection.h +0 -11
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionTransaction.h +0 -11
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +0 -81
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewConnection.h +0 -12
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +0 -39
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTypes.h +0 -32
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearch.h +0 -89
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchConnection.h +0 -32
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +0 -79
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchTransaction.h +0 -68
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseQuery.h +0 -42
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationship.h +0 -35
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipConnection.h +0 -29
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipEdge.h +0 -163
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipNode.h +0 -99
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipOptions.h +0 -59
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipTransaction.h +0 -384
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +0 -149
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexConnection.h +0 -33
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexSetup.h +0 -33
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +0 -58
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +0 -651
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +0 -127
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +0 -272
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +0 -116
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +0 -842
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +0 -63
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptions.h +0 -330
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +0 -498
- data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTypes.h +0 -99
- data/vendor/Pods/Headers/YapDatabase/YapSet.h +0 -41
- data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +0 -7
- data/vendor/Pods/Headers/____Pods-NSData+MD5Digest-prefix.h +0 -5
- data/vendor/Pods/Headers/____Pods-YapDatabase-prefix.h +0 -5
- data/vendor/Pods/Headers/____Pods-environment.h +0 -38
- data/vendor/Pods/Manifest.lock +0 -22
- data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.h +0 -18
- data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.m +0 -39
- data/vendor/Pods/NSData+MD5Digest/README.md +0 -11
- data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +0 -5
- data/vendor/Pods/Pods-CocoaLumberjack-dummy.m +0 -5
- data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +0 -7
- data/vendor/Pods/Pods-CocoaLumberjack.xcconfig +0 -0
- data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +0 -5
- data/vendor/Pods/Pods-NSData+MD5Digest-dummy.m +0 -5
- data/vendor/Pods/Pods-NSData+MD5Digest-prefix.pch +0 -5
- data/vendor/Pods/Pods-NSData+MD5Digest.xcconfig +0 -0
- data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +0 -5
- data/vendor/Pods/Pods-YapDatabase-dummy.m +0 -5
- data/vendor/Pods/Pods-YapDatabase-prefix.pch +0 -5
- data/vendor/Pods/Pods-YapDatabase.xcconfig +0 -1
- data/vendor/Pods/Pods-acknowledgements.markdown +0 -59
- data/vendor/Pods/Pods-acknowledgements.plist +0 -97
- data/vendor/Pods/Pods-dummy.m +0 -5
- data/vendor/Pods/Pods-environment.h +0 -38
- data/vendor/Pods/Pods-resources.sh +0 -68
- data/vendor/Pods/Pods.xcconfig +0 -5
- data/vendor/Pods/Pods.xcodeproj/project.pbxproj +0 -4807
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-CocoaLumberjack.xcscheme +0 -59
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-NSData+MD5Digest.xcscheme +0 -59
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-YapDatabase.xcscheme +0 -59
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods.xcscheme +0 -59
- data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/xcschememanagement.plist +0 -31
- data/vendor/Pods/YapDatabase/LICENSE.txt +0 -18
- data/vendor/Pods/YapDatabase/README.md +0 -32
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +0 -17
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +0 -81
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +0 -159
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.h +0 -12
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.m +0 -41
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +0 -39
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +0 -1235
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.h +0 -32
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +0 -77
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h +0 -89
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m +0 -146
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h +0 -32
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +0 -298
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h +0 -79
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m +0 -95
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h +0 -68
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +0 -1403
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +0 -444
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.h +0 -15
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +0 -83
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h +0 -11
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +0 -46
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h +0 -11
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +0 -204
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h +0 -79
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h +0 -125
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h +0 -35
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m +0 -129
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h +0 -29
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m +0 -802
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h +0 -163
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m +0 -408
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h +0 -99
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h +0 -59
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m +0 -29
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h +0 -384
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m +0 -5254
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +0 -83
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexSetupPrivate.h +0 -18
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +0 -149
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +0 -161
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h +0 -33
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +0 -331
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h +0 -33
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +0 -245
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h +0 -58
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +0 -1269
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewChangePrivate.h +0 -94
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewMappingsPrivate.h +0 -72
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.h +0 -36
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.mm +0 -296
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.h +0 -27
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.m +0 -28
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +0 -170
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewRangeOptionsPrivate.h +0 -17
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +0 -272
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +0 -2500
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +0 -842
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +0 -1714
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.h +0 -330
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.m +0 -141
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +0 -127
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +0 -194
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +0 -116
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +0 -888
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +0 -63
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.m +0 -27
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +0 -498
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +0 -4986
- data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.h +0 -99
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.h +0 -8
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.m +0 -19
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +0 -91
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +0 -465
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.h +0 -29
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.m +0 -48
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +0 -37
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +0 -83
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.h +0 -158
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.m +0 -73
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.h +0 -17
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.m +0 -56
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +0 -446
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.h +0 -13
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.m +0 -26
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseString.h +0 -121
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.h +0 -74
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.m +0 -603
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.h +0 -17
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +0 -35
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.h +0 -15
- data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.m +0 -31
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +0 -23
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +0 -199
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.h +0 -42
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.m +0 -96
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.h +0 -41
- data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.m +0 -82
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +0 -547
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +0 -2013
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +0 -449
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +0 -4046
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +0 -651
- data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +0 -5602
- data/vendor/Pods/build-iPhoneSimulator/Pods.bridgesupport +0 -3172
- data/vendor/Pods/build-iPhoneSimulator/libPods.a +0 -0
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
#import "YapDatabaseExtension.h"
|
|
4
|
-
#import "YapDatabaseViewTypes.h"
|
|
5
|
-
#import "YapDatabaseViewOptions.h"
|
|
6
|
-
#import "YapDatabaseViewConnection.h"
|
|
7
|
-
#import "YapDatabaseViewTransaction.h"
|
|
8
|
-
#import "YapDatabaseViewMappings.h"
|
|
9
|
-
#import "YapDatabaseViewChange.h"
|
|
10
|
-
#import "YapDatabaseViewRangeOptions.h"
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Welcome to YapDatabase!
|
|
14
|
-
*
|
|
15
|
-
* https://github.com/yaptv/YapDatabase
|
|
16
|
-
*
|
|
17
|
-
* The project wiki has a wealth of documentation if you have any questions.
|
|
18
|
-
* https://github.com/yaptv/YapDatabase/wiki
|
|
19
|
-
*
|
|
20
|
-
* YapDatabaseView is an extension designed to work with YapDatabase.
|
|
21
|
-
* It gives you a persistent sorted "view" of a configurable subset of your data.
|
|
22
|
-
*
|
|
23
|
-
* For the full documentation on Views, please see the related wiki article:
|
|
24
|
-
* https://github.com/yaptv/YapDatabase/wiki/Views
|
|
25
|
-
*
|
|
26
|
-
* Just in case you don't have Internet access,
|
|
27
|
-
* see the quick overview in YapDatabaseView.h.
|
|
28
|
-
**/
|
|
29
|
-
@interface YapDatabaseView : YapDatabaseExtension
|
|
30
|
-
|
|
31
|
-
/* Inherited from YapDatabaseExtension
|
|
32
|
-
|
|
33
|
-
@property (nonatomic, strong, readonly) NSString *registeredName;
|
|
34
|
-
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* See the wiki for an example of how to initialize a view:
|
|
39
|
-
* https://github.com/yaptv/YapDatabase/wiki/Views#wiki-initializing_a_view
|
|
40
|
-
*
|
|
41
|
-
* @param groupingBlock
|
|
42
|
-
*
|
|
43
|
-
* The grouping block handles both filtering and grouping.
|
|
44
|
-
*
|
|
45
|
-
* @see YapDatabaseViewTypes.h for block type definition(s).
|
|
46
|
-
*
|
|
47
|
-
* @param groupingBlockType
|
|
48
|
-
*
|
|
49
|
-
* Specify the type of groupingBlock that is being passed.
|
|
50
|
-
*
|
|
51
|
-
* @see YapDatabaseViewTypes.h for block type definition(s).
|
|
52
|
-
*
|
|
53
|
-
* @param sortingBlock
|
|
54
|
-
*
|
|
55
|
-
* The sorting block handles sorting of objects within their group.
|
|
56
|
-
*
|
|
57
|
-
* @see YapDatabaseViewTypes.h for block type definition(s).
|
|
58
|
-
*
|
|
59
|
-
* @param sortingBlockType
|
|
60
|
-
*
|
|
61
|
-
* Specify the type of sortingBlock that is being passed.
|
|
62
|
-
*
|
|
63
|
-
* @see YapDatabaseViewTypes.h for block type definition(s).
|
|
64
|
-
*
|
|
65
|
-
* @param versionTag
|
|
66
|
-
*
|
|
67
|
-
* If, after creating a view, you need to change either the groupingBlock or sortingBlock,
|
|
68
|
-
* then simply use the versionTag parameter. If you pass a versionTag that is different from the last
|
|
69
|
-
* initialization of the view, then the view will automatically flush its tables, and re-populate itself.
|
|
70
|
-
*
|
|
71
|
-
* @param options
|
|
72
|
-
*
|
|
73
|
-
* The options allow you to specify things like creating an in-memory-only view (non persistent).
|
|
74
|
-
**/
|
|
75
|
-
|
|
76
|
-
- (id)initWithGroupingBlock:(YapDatabaseViewGroupingBlock)groupingBlock
|
|
77
|
-
groupingBlockType:(YapDatabaseViewBlockType)groupingBlockType
|
|
78
|
-
sortingBlock:(YapDatabaseViewSortingBlock)sortingBlock
|
|
79
|
-
sortingBlockType:(YapDatabaseViewBlockType)sortingBlockType;
|
|
80
|
-
|
|
81
|
-
- (id)initWithGroupingBlock:(YapDatabaseViewGroupingBlock)groupingBlock
|
|
82
|
-
groupingBlockType:(YapDatabaseViewBlockType)groupingBlockType
|
|
83
|
-
sortingBlock:(YapDatabaseViewSortingBlock)sortingBlock
|
|
84
|
-
sortingBlockType:(YapDatabaseViewBlockType)sortingBlockType
|
|
85
|
-
versionTag:(NSString *)versionTag;
|
|
86
|
-
|
|
87
|
-
- (id)initWithGroupingBlock:(YapDatabaseViewGroupingBlock)groupingBlock
|
|
88
|
-
groupingBlockType:(YapDatabaseViewBlockType)groupingBlockType
|
|
89
|
-
sortingBlock:(YapDatabaseViewSortingBlock)sortingBlock
|
|
90
|
-
sortingBlockType:(YapDatabaseViewBlockType)sortingBlockType
|
|
91
|
-
versionTag:(NSString *)versionTag
|
|
92
|
-
options:(YapDatabaseViewOptions *)options;
|
|
93
|
-
|
|
94
|
-
@property (nonatomic, strong, readonly) YapDatabaseViewGroupingBlock groupingBlock;
|
|
95
|
-
@property (nonatomic, strong, readonly) YapDatabaseViewSortingBlock sortingBlock;
|
|
96
|
-
|
|
97
|
-
@property (nonatomic, assign, readonly) YapDatabaseViewBlockType groupingBlockType;
|
|
98
|
-
@property (nonatomic, assign, readonly) YapDatabaseViewBlockType sortingBlockType;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* The versionTag assists you in updating your blocks.
|
|
102
|
-
*
|
|
103
|
-
* If you need to change the groupingBlock or sortingBlock,
|
|
104
|
-
* then simply pass a different versionTag during the init method, and the view will automatically update itself.
|
|
105
|
-
*
|
|
106
|
-
* If you want to keep things simple, you can use something like @"1",
|
|
107
|
-
* representing version 1 of my groupingBlock & sortingBlock.
|
|
108
|
-
*
|
|
109
|
-
* For more advanced applications, you may also include within the versionTag string:
|
|
110
|
-
* - localization information (if you're using localized sorting routines)
|
|
111
|
-
* - configuration information (if your sorting routine is based on some in-app configuration)
|
|
112
|
-
*
|
|
113
|
-
* For example, if you're sorting strings using a localized string compare method, then embedding the localization
|
|
114
|
-
* information into your versionTag means the view will automatically re-populate itself (re-sort)
|
|
115
|
-
* if the user launches the app in a different language than last time.
|
|
116
|
-
*
|
|
117
|
-
* NSString *localeIdentifier = [[NSLocale currentLocale] localeIdentifier];
|
|
118
|
-
* NSString *versionTag = [NSString stringWithFormat:@"1-%@", localeIdentifier];
|
|
119
|
-
**/
|
|
120
|
-
@property (nonatomic, copy, readonly) NSString *versionTag;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* The options allow you to specify things like creating an in-memory-only view (non persistent).
|
|
124
|
-
**/
|
|
125
|
-
@property (nonatomic, copy, readonly) YapDatabaseViewOptions *options;
|
|
126
|
-
|
|
127
|
-
@end
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
typedef enum {
|
|
4
|
-
YapDatabaseViewChangeInsert = 1,
|
|
5
|
-
YapDatabaseViewChangeDelete = 2,
|
|
6
|
-
YapDatabaseViewChangeMove = 3,
|
|
7
|
-
YapDatabaseViewChangeUpdate = 4,
|
|
8
|
-
|
|
9
|
-
} YapDatabaseViewChangeType;
|
|
10
|
-
|
|
11
|
-
typedef enum {
|
|
12
|
-
YapDatabaseViewChangedObject = 1 << 0, // 0001
|
|
13
|
-
YapDatabaseViewChangedMetadata = 1 << 1, // 0010
|
|
14
|
-
YapDatabaseViewChangedDependency = 1 << 2, // 0100
|
|
15
|
-
|
|
16
|
-
} YapDatabaseViewChangesBitMask;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* YapDatabaseViewChange is designed to help facilitate animations to tableViews and collectionsViews.
|
|
21
|
-
*
|
|
22
|
-
* In addition to the documentation available in the header files,
|
|
23
|
-
* you may also wish to read the wiki articles online,
|
|
24
|
-
* which are designed to give you an overview of the various technologies available.
|
|
25
|
-
*
|
|
26
|
-
* General information about setting up and using Views:
|
|
27
|
-
* https://github.com/yaptv/YapDatabase/wiki/Views
|
|
28
|
-
*
|
|
29
|
-
* General information about technologies which integrate with Views:
|
|
30
|
-
* https://github.com/yaptv/YapDatabase/wiki/LongLivedReadTransactions
|
|
31
|
-
* https://github.com/yaptv/YapDatabase/wiki/YapDatabaseModifiedNotification
|
|
32
|
-
**/
|
|
33
|
-
|
|
34
|
-
@interface YapDatabaseViewSectionChange : NSObject <NSCopying>
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The type will be either:
|
|
38
|
-
* - YapDatabaseViewChangeInsert or
|
|
39
|
-
* - YapDatabaseViewChangeDelete
|
|
40
|
-
*
|
|
41
|
-
* @see YapDatabaseViewChangeType
|
|
42
|
-
**/
|
|
43
|
-
@property (nonatomic, readonly) YapDatabaseViewChangeType type;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* The section index.
|
|
47
|
-
*
|
|
48
|
-
* If the type is YapDatabaseViewChangeDelete, then this represents the originalIndex of the section (pre-animation).
|
|
49
|
-
* If the type is YapDatabaseViewChangeInsert, then this represents the finalIndex of the section (post-animation).
|
|
50
|
-
**/
|
|
51
|
-
@property (nonatomic, readonly) NSUInteger index;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* The corresponding group for the section.
|
|
55
|
-
**/
|
|
56
|
-
@property (nonatomic, readonly) NSString *group;
|
|
57
|
-
|
|
58
|
-
@end
|
|
59
|
-
|
|
60
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
61
|
-
#pragma mark -
|
|
62
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
63
|
-
|
|
64
|
-
@interface YapDatabaseViewRowChange : NSObject <NSCopying>
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* The type will be one of:
|
|
68
|
-
* - YapDatabaseViewChangeInsert
|
|
69
|
-
* - YapDatabaseViewChangeDelete
|
|
70
|
-
* - YapDatabaseViewChangeMove
|
|
71
|
-
* - YapDatabaseViewChangeUpdate
|
|
72
|
-
*
|
|
73
|
-
* @see YapDatabaseViewChangeType
|
|
74
|
-
**/
|
|
75
|
-
@property (nonatomic, readonly) YapDatabaseViewChangeType type;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* The changes property is a bitmask representing what changed for the corresponding row in the database.
|
|
79
|
-
*
|
|
80
|
-
* There are 3 types represented in the bit mask:
|
|
81
|
-
* - YapDatabaseViewChangedObject
|
|
82
|
-
* - YapDatabaseViewChangedMetadata
|
|
83
|
-
* - YapDatabaseViewChangedDependency
|
|
84
|
-
*
|
|
85
|
-
* YapDatabaseViewChangedObject means the object was changed via setObject:forKey:inCollection:.
|
|
86
|
-
*
|
|
87
|
-
* YapDatabaseViewChangedMetadata means the metadata was changed.
|
|
88
|
-
* This might have happend implicitly if the user invoked setObject:forKey:inCollection: (implicitly setting
|
|
89
|
-
* the metadata to nil). Or explicitly if the user invoked setObject:forKey:inCollection:withMetadata: or
|
|
90
|
-
* replaceMetadata:forKey:inCollection:.
|
|
91
|
-
*
|
|
92
|
-
* YapDatabaseViewChangedDependency means the row was flagged due to a cell drawing dependency configuration.
|
|
93
|
-
* See YapDatabaseViewMappings: setCellDrawingDependencyForNeighboringCellWithOffset:forGroup:
|
|
94
|
-
*
|
|
95
|
-
* Keep in mind that this is a bitmask. So, for example, all bits might be set if
|
|
96
|
-
* a row was updated, and was also flagged due to an inter-cell drawing dependency.
|
|
97
|
-
*
|
|
98
|
-
* This may be useful for various optimizations. For example:
|
|
99
|
-
* The drawing of your cell depends only on the object.
|
|
100
|
-
* However, your objects are rather large, and you're using metadata to store small subsets of the object
|
|
101
|
-
* that often need to be fetched. In addition, you're keeping other information in metadata such as refresh dates
|
|
102
|
-
* for pulling updates from the server. The grouping and sorting block are optimized and use only the metadata.
|
|
103
|
-
* However this means that the metadata may change (due to a refresh date update),
|
|
104
|
-
* when in fact the object itself didn't change.
|
|
105
|
-
* So you could optimize a bit here by skipping some cell updates.
|
|
106
|
-
*
|
|
107
|
-
* if (change.type == YapDatabaseViewChangeUpdate)
|
|
108
|
-
* {
|
|
109
|
-
* if (change.modifiedColumns & YapDatabaseViewChangedObject) {
|
|
110
|
-
* // object changed, update cell
|
|
111
|
-
* }
|
|
112
|
-
* else {
|
|
113
|
-
* // only the metadata changed, so we can skip updating the cell
|
|
114
|
-
* }
|
|
115
|
-
* }
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* @see YapDatabaseViewChangesBitMask
|
|
119
|
-
**/
|
|
120
|
-
@property (nonatomic, readonly) int changes;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* The indexPath & newIndexPath are available after
|
|
124
|
-
* you've invoked getSectionChanges:rowChanges:forNotifications:withMappings:.
|
|
125
|
-
*
|
|
126
|
-
* @see YapDatabaseConnection getSectionChanges:rowChanges:forNotifications:withMappings:
|
|
127
|
-
*
|
|
128
|
-
* These properties are designed to help facilitate animations to tableViews and collectionsViews.
|
|
129
|
-
*
|
|
130
|
-
* Recall that a view has no concept of sections.
|
|
131
|
-
* That is, a view has groups not sections.
|
|
132
|
-
* A group is a string, and a section is just a number.
|
|
133
|
-
*
|
|
134
|
-
* Using groups allows a view to be more dynamic.
|
|
135
|
-
* Your view may contain dozens of groups,
|
|
136
|
-
* but a particular tableView within your app may only display a subset of the groups.
|
|
137
|
-
*
|
|
138
|
-
* For example, you may have a view for displaying products in a grocery store.
|
|
139
|
-
* Each product is grouped by department (e.g. produce, deli, bakery), and sorted sorted by name.
|
|
140
|
-
* Using this view you can easily bring up a table view which displays only
|
|
141
|
-
* a few departments such as: liquor, wine, beer.
|
|
142
|
-
*
|
|
143
|
-
* In this example:
|
|
144
|
-
* - Section 0 = liquor
|
|
145
|
-
* - Section 1 = wine
|
|
146
|
-
* - Section 2 = beer
|
|
147
|
-
*
|
|
148
|
-
* NSArray *groups = @{ @"liquor":@(0), @"wine":@(1), @"beer":@(2) };
|
|
149
|
-
* YapDatabaseMappings *mappings = [YapDatabaseViewMappings mappingsWithGroups:groups view:@"order"];
|
|
150
|
-
*
|
|
151
|
-
* The mappings are then used to "map" between the 'groups in the view' and 'items in the table'.
|
|
152
|
-
*
|
|
153
|
-
* Mappings can provide a lot of additional functionality as well.
|
|
154
|
-
* For example, you can configure the mappings to only display a particular range within a group.
|
|
155
|
-
* This is similar to a LIMIT & OFFSET in SQL.
|
|
156
|
-
* This is the tip of the iceberg. See YapDatabaseViewMappings.h for more info.
|
|
157
|
-
*
|
|
158
|
-
* In order to animate changes to your tableView or collectionView, you eventually do something like this:
|
|
159
|
-
*
|
|
160
|
-
* NSArray *sectionChanges = nil;
|
|
161
|
-
* NSArray *rowChanges = nil;
|
|
162
|
-
* [databaseConnection getSectionChanges:§ionChanges
|
|
163
|
-
* rowChanges:&rowChanges
|
|
164
|
-
* forNotifications:notifications
|
|
165
|
-
* withMappings:mappings];
|
|
166
|
-
*
|
|
167
|
-
* This gives you a list of changes as they affect your tableView / collectionView.
|
|
168
|
-
*
|
|
169
|
-
* The indexPath and newIndexPath properties are modeled after:
|
|
170
|
-
* NSFetchedResultsControllerDelegate controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
|
|
171
|
-
*
|
|
172
|
-
* - indexPath represents the ORIGINAL indexPath for the row.
|
|
173
|
-
* It is non-nil for the following types : Delete, Move, Update.
|
|
174
|
-
* (And nil for insert since there was no original indexPath.)
|
|
175
|
-
*
|
|
176
|
-
* - newIndexPath represents the FINAL indexPath for the row.
|
|
177
|
-
* It is non-nil for the following types : Insert, Move.
|
|
178
|
-
* (And nil for delete since there is no final indexPath.)
|
|
179
|
-
* (And nil for update since that's how NSFetchedResultsController works,
|
|
180
|
-
* and thus how existing code might expect it to work.)
|
|
181
|
-
*
|
|
182
|
-
* Once you have the sectionChanges & rowChanges, you can animate your tableView very simply like so:
|
|
183
|
-
*
|
|
184
|
-
* PS - For a FULL CODE EXAMPLE, see the wiki:
|
|
185
|
-
* https://github.com/yaptv/YapDatabase/wiki/Views#wiki-animating_updates_in_tableviews_collectionviews
|
|
186
|
-
*
|
|
187
|
-
* if ([sectionChanges count] == 0 & [rowChanges count] == 0)
|
|
188
|
-
* {
|
|
189
|
-
* // Nothing has changed that affects our tableView
|
|
190
|
-
* return;
|
|
191
|
-
* }
|
|
192
|
-
*
|
|
193
|
-
* // Familiar with NSFetchedResultsController?
|
|
194
|
-
* // Then this should look pretty familiar
|
|
195
|
-
*
|
|
196
|
-
* [self.tableView beginUpdates];
|
|
197
|
-
*
|
|
198
|
-
* for (YapDatabaseViewSectionChange *sectionChange in sectionChanges)
|
|
199
|
-
* {
|
|
200
|
-
* switch (sectionChange.type)
|
|
201
|
-
* {
|
|
202
|
-
* case YapDatabaseViewChangeDelete :
|
|
203
|
-
* {
|
|
204
|
-
* [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionChange.index]
|
|
205
|
-
* withRowAnimation:UITableViewRowAnimationAutomatic];
|
|
206
|
-
* break;
|
|
207
|
-
* }
|
|
208
|
-
* case YapDatabaseViewChangeInsert :
|
|
209
|
-
* {
|
|
210
|
-
* [self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionChange.index]
|
|
211
|
-
* withRowAnimation:UITableViewRowAnimationAutomatic];
|
|
212
|
-
* break;
|
|
213
|
-
* }
|
|
214
|
-
* }
|
|
215
|
-
* }
|
|
216
|
-
*
|
|
217
|
-
* for (YapDatabaseViewRowChange *rowChange in rowChanges)
|
|
218
|
-
* {
|
|
219
|
-
* switch (rowChange.type)
|
|
220
|
-
* {
|
|
221
|
-
* case YapDatabaseViewChangeDelete :
|
|
222
|
-
* {
|
|
223
|
-
* [self.tableView deleteRowsAtIndexPaths:@[ rowChange.indexPath ]
|
|
224
|
-
* withRowAnimation:UITableViewRowAnimationAutomatic];
|
|
225
|
-
* break;
|
|
226
|
-
* }
|
|
227
|
-
* case YapDatabaseViewChangeInsert :
|
|
228
|
-
* {
|
|
229
|
-
* [self.tableView insertRowsAtIndexPaths:@[ rowChange.newIndexPath ]
|
|
230
|
-
* withRowAnimation:UITableViewRowAnimationAutomatic];
|
|
231
|
-
* break;
|
|
232
|
-
* }
|
|
233
|
-
* case YapDatabaseViewChangeMove :
|
|
234
|
-
* {
|
|
235
|
-
* [self.tableView deleteRowsAtIndexPaths:@[ rowChange.indexPath ]
|
|
236
|
-
* withRowAnimation:UITableViewRowAnimationAutomatic];
|
|
237
|
-
* [self.tableView insertRowsAtIndexPaths:@[ rowChange.newIndexPath ]
|
|
238
|
-
* withRowAnimation:UITableViewRowAnimationAutomatic];
|
|
239
|
-
* break;
|
|
240
|
-
* }
|
|
241
|
-
* case YapDatabaseViewChangeUpdate :
|
|
242
|
-
* {
|
|
243
|
-
* [self.tableView reloadRowsAtIndexPaths:@[ rowChange.indexPath ]
|
|
244
|
-
* withRowAnimation:UITableViewRowAnimationNone];
|
|
245
|
-
* break;
|
|
246
|
-
* }
|
|
247
|
-
* }
|
|
248
|
-
* }
|
|
249
|
-
*
|
|
250
|
-
* [self.tableView endUpdates];
|
|
251
|
-
**/
|
|
252
|
-
@property (nonatomic, readonly) NSIndexPath *indexPath;
|
|
253
|
-
@property (nonatomic, readonly) NSIndexPath *newIndexPath;
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* The "original" values represent the location of the changed item
|
|
257
|
-
* at the BEGINNING of the read-write transaction(s).
|
|
258
|
-
*
|
|
259
|
-
* The "final" values represent the location of the changed item
|
|
260
|
-
* at the END of the read-write transaction(s).
|
|
261
|
-
**/
|
|
262
|
-
|
|
263
|
-
@property (nonatomic, readonly) NSUInteger originalIndex;
|
|
264
|
-
@property (nonatomic, readonly) NSUInteger finalIndex;
|
|
265
|
-
|
|
266
|
-
@property (nonatomic, readonly) NSUInteger originalSection;
|
|
267
|
-
@property (nonatomic, readonly) NSUInteger finalSection;
|
|
268
|
-
|
|
269
|
-
@property (nonatomic, readonly) NSString *originalGroup;
|
|
270
|
-
@property (nonatomic, readonly) NSString *finalGroup;
|
|
271
|
-
|
|
272
|
-
@end
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
#import "YapDatabaseViewChange.h"
|
|
2
|
-
#import "YapDatabaseViewMappings.h"
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* This header file is PRIVATE, and is only to be used by the YapDatabaseView classes.
|
|
6
|
-
**/
|
|
7
|
-
|
|
8
|
-
@interface YapDatabaseViewSectionChange () {
|
|
9
|
-
@public
|
|
10
|
-
|
|
11
|
-
// This header file is PRIVATE, and is only to be used by YapDatabaseView classes
|
|
12
|
-
|
|
13
|
-
NSString *group; // immutable
|
|
14
|
-
BOOL isReset; // immutable
|
|
15
|
-
|
|
16
|
-
YapDatabaseViewChangeType type; // mutable during consolidation
|
|
17
|
-
|
|
18
|
-
NSUInteger originalSection; // mutable during pre-processing
|
|
19
|
-
NSUInteger finalSection; // mutable during pre-processing
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
+ (YapDatabaseViewSectionChange *)insertGroup:(NSString *)group;
|
|
23
|
-
+ (YapDatabaseViewSectionChange *)deleteGroup:(NSString *)group;
|
|
24
|
-
|
|
25
|
-
+ (YapDatabaseViewSectionChange *)resetGroup:(NSString *)group;
|
|
26
|
-
|
|
27
|
-
@end
|
|
28
|
-
|
|
29
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
30
|
-
#pragma mark -
|
|
31
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
32
|
-
|
|
33
|
-
@interface YapDatabaseViewRowChange () {
|
|
34
|
-
@public
|
|
35
|
-
|
|
36
|
-
// This header file is PRIVATE, and is only to be used by YapDatabaseView classes
|
|
37
|
-
|
|
38
|
-
id key; // immutable
|
|
39
|
-
|
|
40
|
-
NSString *originalGroup; // immutable
|
|
41
|
-
NSString *finalGroup; // mutable during consolidation
|
|
42
|
-
|
|
43
|
-
YapDatabaseViewChangeType type; // mutable during consolidation
|
|
44
|
-
int changes; // mutable during consolidation
|
|
45
|
-
|
|
46
|
-
NSUInteger opOriginalIndex; // immutable
|
|
47
|
-
NSUInteger opFinalIndex; // immutable
|
|
48
|
-
|
|
49
|
-
NSUInteger originalIndex; // mutable during processing
|
|
50
|
-
NSUInteger finalIndex; // mutable during processing
|
|
51
|
-
|
|
52
|
-
NSUInteger originalSection; // mutable during pre-processing
|
|
53
|
-
NSUInteger finalSection; // mutable during pre-processing
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* During a transaction, there are only 3 row change types that may be recorded.
|
|
58
|
-
*
|
|
59
|
-
* Post-processing figures out everything else, such as if an item was moved,
|
|
60
|
-
* or if multiple operations can be consolidated into one.
|
|
61
|
-
**/
|
|
62
|
-
|
|
63
|
-
+ (YapDatabaseViewRowChange *)insertKey:(id)key inGroup:(NSString *)group atIndex:(NSUInteger)index;
|
|
64
|
-
+ (YapDatabaseViewRowChange *)deleteKey:(id)key inGroup:(NSString *)group atIndex:(NSUInteger)index;
|
|
65
|
-
|
|
66
|
-
+ (YapDatabaseViewRowChange *)updateKey:(id)key changes:(int)flags inGroup:(NSString *)group atIndex:(NSUInteger)index;
|
|
67
|
-
|
|
68
|
-
@end
|
|
69
|
-
|
|
70
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
71
|
-
#pragma mark -
|
|
72
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
73
|
-
|
|
74
|
-
@interface YapDatabaseViewChange : NSObject
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* The brains behind the post-processing logic.
|
|
78
|
-
* Exposed privately to be used by the unit tests.
|
|
79
|
-
**/
|
|
80
|
-
+ (void)processRowChanges:(NSMutableArray *)changes;
|
|
81
|
-
+ (void)consolidateRowChanges:(NSMutableArray *)changes;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* This method applies the given mappings, and then invokes the post-processing method.
|
|
85
|
-
*
|
|
86
|
-
* This method is ONLY to be used by YapDatabaseViewConnection.
|
|
87
|
-
**/
|
|
88
|
-
+ (void)getSectionChanges:(NSArray **)sectionChangesPtr
|
|
89
|
-
rowChanges:(NSArray **)rowChangesPtr
|
|
90
|
-
withOriginalMappings:(YapDatabaseViewMappings *)originalMappings
|
|
91
|
-
finalMappings:(YapDatabaseViewMappings *)finalMappings
|
|
92
|
-
fromChanges:(NSArray *)changes;
|
|
93
|
-
|
|
94
|
-
@end
|