motion-yapper 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,99 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
|
3
|
-
|
4
|
-
/**
|
5
|
-
* The grouping block handles both filtering and grouping.
|
6
|
-
*
|
7
|
-
* When you add or update rows in the databse the grouping block is invoked.
|
8
|
-
* Your grouping block can inspect the row and determine if it should be a part of the view.
|
9
|
-
* If not, your grouping block simply returns 'nil' and the object is excluded from the view (removing it if needed).
|
10
|
-
* Otherwise your grouping block returns a group, which can be any string you want.
|
11
|
-
* Once the view knows what group the row belongs to,
|
12
|
-
* it will then determine the position of the row within the group (using the sorting block).
|
13
|
-
*
|
14
|
-
* You should choose a block type that takes the minimum number of required parameters.
|
15
|
-
* The view can make various optimizations based on required parameters of the block.
|
16
|
-
**/
|
17
|
-
typedef id YapDatabaseViewGroupingBlock; // One of the YapDatabaseViewGroupingX types below.
|
18
|
-
|
19
|
-
typedef NSString* (^YapDatabaseViewGroupingWithKeyBlock)(NSString *collection, NSString *key);
|
20
|
-
typedef NSString* (^YapDatabaseViewGroupingWithObjectBlock)(NSString *collection, NSString *key, id object);
|
21
|
-
typedef NSString* (^YapDatabaseViewGroupingWithMetadataBlock)(NSString *collection, NSString *key, id metadata);
|
22
|
-
typedef NSString* (^YapDatabaseViewGroupingWithRowBlock)(NSString *collection, NSString *key, id object, id metadata);
|
23
|
-
|
24
|
-
|
25
|
-
/**
|
26
|
-
* The sorting block handles sorting of objects within their group.
|
27
|
-
*
|
28
|
-
* After the view invokes the grouping block to determine what group a database row belongs to (if any),
|
29
|
-
* the view then needs to determine what index within that group the row should be.
|
30
|
-
* In order to do this, it needs to compare the new/updated row with existing rows in the same view group.
|
31
|
-
* This is what the sorting block is used for.
|
32
|
-
* So the sorting block will be invoked automatically during this process until the view has come to a conclusion.
|
33
|
-
*
|
34
|
-
* You should choose a block type that takes the minimum number of required parameters.
|
35
|
-
* The view can make various optimizations based on required parameters of the block.
|
36
|
-
*
|
37
|
-
* For example, if sorting is based on the object, and the metadata of a row is updated,
|
38
|
-
* then the view can deduce that the index hasn't changed (if the group hans't), and can skip this step.
|
39
|
-
*
|
40
|
-
* Performance Note:
|
41
|
-
*
|
42
|
-
* The view uses various optimizations (based on common patterns)
|
43
|
-
* to reduce the number of times it needs to invoke the sorting block.
|
44
|
-
*
|
45
|
-
* - Pattern : row is updated, but its index in the view doesn't change.
|
46
|
-
* Optimization : if an updated row doesn't change groups, the view will first compare it with
|
47
|
-
* objects to the left and right.
|
48
|
-
*
|
49
|
-
* - Pattern : rows are added to the beginning or end or a view
|
50
|
-
* Optimization : if the last change put an object at the beginning of the view, then it will test this quickly.
|
51
|
-
* if the last change put an object at the end of the view, then it will test this quickly.
|
52
|
-
*
|
53
|
-
* These optimizations offer huge performance benefits to many common cases.
|
54
|
-
* For example, adding objects to a view that are sorted by timestamp of when they arrived.
|
55
|
-
*
|
56
|
-
* The optimizations are not always performed.
|
57
|
-
* That is, if the row is added to a group it didn't previously belong,
|
58
|
-
* or if the last change didn't place an item at the beginning or end of the view.
|
59
|
-
*
|
60
|
-
* If optimizations fail, or are skipped, then the view uses a binary search algorithm.
|
61
|
-
*
|
62
|
-
* Although this may be considered "internal information",
|
63
|
-
* I feel it is important to explain for the following reason:
|
64
|
-
*
|
65
|
-
* Another common pattern is to fetch a number of objects in a batch, and then insert them into the database.
|
66
|
-
* Now imagine a situation in which the view is sorting posts based on timestamp,
|
67
|
-
* and you just fetched the most recent 10 posts. You can enumerate these 10 posts in forwards or backwards
|
68
|
-
* while adding them to the database. One direction will hit the optimization every time. The other will cause
|
69
|
-
* the view to perform a binary search every time. These little one-liner optimzations are easy.
|
70
|
-
**/
|
71
|
-
typedef id YapDatabaseViewSortingBlock; // One of the YapDatabaseViewSortingX types below.
|
72
|
-
|
73
|
-
typedef NSComparisonResult (^YapDatabaseViewSortingWithKeyBlock) \
|
74
|
-
(NSString *group, NSString *collection1, NSString *key1, \
|
75
|
-
NSString *collection2, NSString *key2);
|
76
|
-
typedef NSComparisonResult (^YapDatabaseViewSortingWithObjectBlock) \
|
77
|
-
(NSString *group, NSString *collection1, NSString *key1, id object1, \
|
78
|
-
NSString *collection2, NSString *key2, id object2);
|
79
|
-
typedef NSComparisonResult (^YapDatabaseViewSortingWithMetadataBlock) \
|
80
|
-
(NSString *group, NSString *collection1, NSString *key1, id metadata, \
|
81
|
-
NSString *collection2, NSString *key2, id metadata2);
|
82
|
-
typedef NSComparisonResult (^YapDatabaseViewSortingWithRowBlock) \
|
83
|
-
(NSString *group, NSString *collection1, NSString *key1, id object1, id metadata1, \
|
84
|
-
NSString *collection2, NSString *key2, id object2, id metadata2);
|
85
|
-
|
86
|
-
|
87
|
-
/**
|
88
|
-
* I wish there was a way to inspect a given block and see what kind of parameters it takes.
|
89
|
-
* Sadly this does not appear to be possible (at least not in any kind of standard legal way).
|
90
|
-
*
|
91
|
-
* Thus you will have to specify what kind of block you're passing.
|
92
|
-
**/
|
93
|
-
typedef enum {
|
94
|
-
YapDatabaseViewBlockTypeWithKey = 1,
|
95
|
-
YapDatabaseViewBlockTypeWithObject = 2,
|
96
|
-
YapDatabaseViewBlockTypeWithMetadata = 3,
|
97
|
-
YapDatabaseViewBlockTypeWithRow = 4
|
98
|
-
} YapDatabaseViewBlockType;
|
99
|
-
|
@@ -1,74 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
|
3
|
-
@class YapMemoryTableTransaction;
|
4
|
-
|
5
|
-
|
6
|
-
/**
|
7
|
-
* A "memory table" is a dictionary that supports versioning.
|
8
|
-
* There may be multiple values for a single key, with each value associated with a different snapshot.
|
9
|
-
*
|
10
|
-
* The memory table is accessed via a YapMemoryTableTransaction instance,
|
11
|
-
* which is itself associated with a particular timestamp. Thus the transaction is able to properly identify
|
12
|
-
* which version is appropriate for itself.
|
13
|
-
**/
|
14
|
-
@interface YapMemoryTable : NSObject
|
15
|
-
|
16
|
-
/**
|
17
|
-
* Initializes a memory table.
|
18
|
-
*
|
19
|
-
* The keyClass is used for debugging, to ensure the proper key type is always used when accessing the table.
|
20
|
-
* The keyClass is used within NSAssert statements that typically get compiled out for release builds.
|
21
|
-
**/
|
22
|
-
- (id)initWithKeyClass:(Class)keyClass;
|
23
|
-
|
24
|
-
/**
|
25
|
-
* Creates and returns a new connection associated with the shared cache.
|
26
|
-
**/
|
27
|
-
- (YapMemoryTableTransaction *)newReadTransactionWithSnapshot:(uint64_t)snapshot;
|
28
|
-
- (YapMemoryTableTransaction *)newReadWriteTransactionWithSnapshot:(uint64_t)snapshot;
|
29
|
-
|
30
|
-
/**
|
31
|
-
* Invoked automatically by YapDatabase architecture.
|
32
|
-
**/
|
33
|
-
- (void)asyncCheckpoint:(int64_t)minSnapshot;
|
34
|
-
|
35
|
-
@end
|
36
|
-
|
37
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
38
|
-
#pragma mark -
|
39
|
-
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
40
|
-
|
41
|
-
@interface YapMemoryTableTransaction : NSObject
|
42
|
-
|
43
|
-
@property (nonatomic, readonly) uint64_t snapshot;
|
44
|
-
@property (nonatomic, readonly) BOOL isReadWriteTransaction;
|
45
|
-
|
46
|
-
- (id)objectForKey:(id)key;
|
47
|
-
|
48
|
-
- (void)enumerateKeysWithBlock:(void (^)(id key, BOOL *stop))block;
|
49
|
-
|
50
|
-
- (void)enumerateKeysAndObjectsWithBlock:(void (^)(id key, id obj, BOOL *stop))block;
|
51
|
-
|
52
|
-
//
|
53
|
-
// For ReadWrite transactions:
|
54
|
-
|
55
|
-
- (void)setObject:(id)object forKey:(id)key;
|
56
|
-
|
57
|
-
- (void)removeObjectForKey:(id)key;
|
58
|
-
- (void)removeObjectsForKeys:(NSArray *)keys;
|
59
|
-
|
60
|
-
- (void)removeAllObjects;
|
61
|
-
|
62
|
-
//
|
63
|
-
// Batch access / modifications
|
64
|
-
|
65
|
-
- (void)accessWithBlock:(dispatch_block_t)block;
|
66
|
-
- (void)modifyWithBlock:(dispatch_block_t)block;
|
67
|
-
|
68
|
-
//
|
69
|
-
// Transaction state
|
70
|
-
|
71
|
-
- (void)commit;
|
72
|
-
- (void)rollback;
|
73
|
-
|
74
|
-
@end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
|
3
|
-
/**
|
4
|
-
* There are various situations in which we need to add a placeholder to signify a nil value.
|
5
|
-
* For example, we need to cache the fact that the metadata for a given key is nil.
|
6
|
-
*
|
7
|
-
* However, we cannot add a nil object to a dictionary.
|
8
|
-
* And we cannot use NSNull, or we prevent the user from using NSNull for their own purposes.
|
9
|
-
*
|
10
|
-
* And thus, we replicate NSNull, and use it instead.
|
11
|
-
* And now the user is free to use NSNull if needed.
|
12
|
-
**/
|
13
|
-
@interface YapNull : NSObject
|
14
|
-
|
15
|
-
+ (id)null;
|
16
|
-
|
17
|
-
@end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
|
3
|
-
/**
|
4
|
-
* The YapSet class can be treated more or less like a regular NSSet.
|
5
|
-
*
|
6
|
-
* It is designed to expose internal mutable objects to the external world.
|
7
|
-
* That is, we skip all the overhead associated with making immutable copies,
|
8
|
-
* and instead just use this simple wrapper class.
|
9
|
-
*
|
10
|
-
* In general, the external world won't interact with this class.
|
11
|
-
* They are encouraged to instead use the changeset methods exposed in the connection classes.
|
12
|
-
*
|
13
|
-
* @see YapDatabaseConnection hasChangeForKey:inNotifications:
|
14
|
-
* @see YapDatabaseConnection hasChangeForAnyKeys:inNotifications:
|
15
|
-
**/
|
16
|
-
@interface YapSet : NSObject <NSFastEnumeration>
|
17
|
-
|
18
|
-
- (id)initWithSet:(NSMutableSet *)set;
|
19
|
-
- (id)initWithDictionary:(NSMutableDictionary *)dictionary;
|
20
|
-
|
21
|
-
// NSSet methods
|
22
|
-
|
23
|
-
- (BOOL)containsObject:(id)anObject;
|
24
|
-
- (BOOL)intersectsSet:(NSSet *)otherSet;
|
25
|
-
|
26
|
-
- (void)enumerateObjectsUsingBlock:(void (^)(id obj, BOOL *stop))block;
|
27
|
-
|
28
|
-
// It's open source!
|
29
|
-
// You are encouraged to add any methods you may need that are available in the NSSet API.
|
30
|
-
//
|
31
|
-
// Not every method from NSSet is available here because the author is lazy,
|
32
|
-
// and only implemented what was needed at the time.
|
33
|
-
//
|
34
|
-
// If you add something, keep in mind the spirit of this class.
|
35
|
-
// It is designed to expose mutable internals in a safe (immutable) manner.
|
36
|
-
// It is designed to expose them in the form of a set.
|
37
|
-
//
|
38
|
-
// If you make improvements, feel free to submit a patch to the github project and get some good karma for it!
|
39
|
-
// https://github.com/yaptv/YapDatabase
|
40
|
-
|
41
|
-
@end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Singleton class to represent the "value" for a key that was touched. (i.e. value didn't change)
|
5
|
-
*
|
6
|
-
* YapDatabase stores changesets in dictionaries, where the object represents the updated value for a key.
|
7
|
-
* When an item is touched, we use this singleton as the value to signify internally that the item didn't change.
|
8
|
-
* This allows us to act as if the item did change in most all respects,
|
9
|
-
* but internally won't cause us to flush the item from the caches.
|
10
|
-
**/
|
11
|
-
@interface YapTouch : NSObject
|
12
|
-
|
13
|
-
+ (id)touch;
|
14
|
-
|
15
|
-
@end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
Software License Agreement (BSD License)
|
2
|
-
|
3
|
-
Copyright (c) 2010, Deusty, LLC
|
4
|
-
All rights reserved.
|
5
|
-
|
6
|
-
Redistribution and use of this software in source and binary forms,
|
7
|
-
with or without modification, are permitted provided that the following conditions are met:
|
8
|
-
|
9
|
-
* Redistributions of source code must retain the above
|
10
|
-
copyright notice, this list of conditions and the
|
11
|
-
following disclaimer.
|
12
|
-
|
13
|
-
* Neither the name of Deusty nor the names of its
|
14
|
-
contributors may be used to endorse or promote products
|
15
|
-
derived from this software without specific prior
|
16
|
-
written permission of Deusty, LLC.
|
17
|
-
|
18
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -1,41 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
#import <asl.h>
|
3
|
-
|
4
|
-
#import "DDLog.h"
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Welcome to Cocoa Lumberjack!
|
8
|
-
*
|
9
|
-
* The project page has a wealth of documentation if you have any questions.
|
10
|
-
* https://github.com/CocoaLumberjack/CocoaLumberjack
|
11
|
-
*
|
12
|
-
* If you're new to the project you may wish to read the "Getting Started" wiki.
|
13
|
-
* https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
|
14
|
-
*
|
15
|
-
*
|
16
|
-
* This class provides a logger for the Apple System Log facility.
|
17
|
-
*
|
18
|
-
* As described in the "Getting Started" page,
|
19
|
-
* the traditional NSLog() function directs it's output to two places:
|
20
|
-
*
|
21
|
-
* - Apple System Log
|
22
|
-
* - StdErr (if stderr is a TTY) so log statements show up in Xcode console
|
23
|
-
*
|
24
|
-
* To duplicate NSLog() functionality you can simply add this logger and a tty logger.
|
25
|
-
* However, if you instead choose to use file logging (for faster performance),
|
26
|
-
* you may choose to use a file logger and a tty logger.
|
27
|
-
**/
|
28
|
-
|
29
|
-
@interface DDASLLogger : DDAbstractLogger <DDLogger>
|
30
|
-
{
|
31
|
-
aslclient client;
|
32
|
-
}
|
33
|
-
|
34
|
-
+ (instancetype)sharedInstance;
|
35
|
-
|
36
|
-
// Inherited from DDAbstractLogger
|
37
|
-
|
38
|
-
// - (id <DDLogFormatter>)logFormatter;
|
39
|
-
// - (void)setLogFormatter:(id <DDLogFormatter>)formatter;
|
40
|
-
|
41
|
-
@end
|
@@ -1,100 +0,0 @@
|
|
1
|
-
#import "DDASLLogger.h"
|
2
|
-
|
3
|
-
#import <libkern/OSAtomic.h>
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Welcome to Cocoa Lumberjack!
|
7
|
-
*
|
8
|
-
* The project page has a wealth of documentation if you have any questions.
|
9
|
-
* https://github.com/CocoaLumberjack/CocoaLumberjack
|
10
|
-
*
|
11
|
-
* If you're new to the project you may wish to read the "Getting Started" wiki.
|
12
|
-
* https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
|
13
|
-
**/
|
14
|
-
|
15
|
-
#if ! __has_feature(objc_arc)
|
16
|
-
#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
|
17
|
-
#endif
|
18
|
-
|
19
|
-
|
20
|
-
@implementation DDASLLogger
|
21
|
-
|
22
|
-
static DDASLLogger *sharedInstance;
|
23
|
-
|
24
|
-
/**
|
25
|
-
* The runtime sends initialize to each class in a program exactly one time just before the class,
|
26
|
-
* or any class that inherits from it, is sent its first message from within the program. (Thus the
|
27
|
-
* method may never be invoked if the class is not used.) The runtime sends the initialize message to
|
28
|
-
* classes in a thread-safe manner. Superclasses receive this message before their subclasses.
|
29
|
-
*
|
30
|
-
* This method may also be called directly (assumably by accident), hence the safety mechanism.
|
31
|
-
**/
|
32
|
-
+ (void)initialize
|
33
|
-
{
|
34
|
-
static BOOL initialized = NO;
|
35
|
-
if (!initialized)
|
36
|
-
{
|
37
|
-
initialized = YES;
|
38
|
-
|
39
|
-
sharedInstance = [[[self class] alloc] init];
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
+ (instancetype)sharedInstance
|
44
|
-
{
|
45
|
-
return sharedInstance;
|
46
|
-
}
|
47
|
-
|
48
|
-
- (id)init
|
49
|
-
{
|
50
|
-
if (sharedInstance != nil)
|
51
|
-
{
|
52
|
-
return nil;
|
53
|
-
}
|
54
|
-
|
55
|
-
if ((self = [super init]))
|
56
|
-
{
|
57
|
-
// A default asl client is provided for the main thread,
|
58
|
-
// but background threads need to create their own client.
|
59
|
-
|
60
|
-
client = asl_open(NULL, "com.apple.console", 0);
|
61
|
-
}
|
62
|
-
return self;
|
63
|
-
}
|
64
|
-
|
65
|
-
- (void)logMessage:(DDLogMessage *)logMessage
|
66
|
-
{
|
67
|
-
NSString *logMsg = logMessage->logMsg;
|
68
|
-
|
69
|
-
if (formatter)
|
70
|
-
{
|
71
|
-
logMsg = [formatter formatLogMessage:logMessage];
|
72
|
-
}
|
73
|
-
|
74
|
-
if (logMsg)
|
75
|
-
{
|
76
|
-
const char *msg = [logMsg UTF8String];
|
77
|
-
|
78
|
-
int aslLogLevel;
|
79
|
-
switch (logMessage->logFlag)
|
80
|
-
{
|
81
|
-
// Note: By default ASL will filter anything above level 5 (Notice).
|
82
|
-
// So our mappings shouldn't go above that level.
|
83
|
-
|
84
|
-
case LOG_FLAG_ERROR : aslLogLevel = ASL_LEVEL_ALERT; break;
|
85
|
-
case LOG_FLAG_WARN : aslLogLevel = ASL_LEVEL_CRIT; break;
|
86
|
-
case LOG_FLAG_INFO : aslLogLevel = ASL_LEVEL_ERR; break;
|
87
|
-
case LOG_FLAG_DEBUG : aslLogLevel = ASL_LEVEL_WARNING; break;
|
88
|
-
default : aslLogLevel = ASL_LEVEL_NOTICE; break;
|
89
|
-
}
|
90
|
-
|
91
|
-
asl_log(client, NULL, aslLogLevel, "%s", msg);
|
92
|
-
}
|
93
|
-
}
|
94
|
-
|
95
|
-
- (NSString *)loggerName
|
96
|
-
{
|
97
|
-
return @"cocoa.lumberjack.aslLogger";
|
98
|
-
}
|
99
|
-
|
100
|
-
@end
|
@@ -1,102 +0,0 @@
|
|
1
|
-
#import <Foundation/Foundation.h>
|
2
|
-
|
3
|
-
#import "DDLog.h"
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Welcome to Cocoa Lumberjack!
|
7
|
-
*
|
8
|
-
* The project page has a wealth of documentation if you have any questions.
|
9
|
-
* https://github.com/CocoaLumberjack/CocoaLumberjack
|
10
|
-
*
|
11
|
-
* If you're new to the project you may wish to read the "Getting Started" wiki.
|
12
|
-
* https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
|
13
|
-
*
|
14
|
-
*
|
15
|
-
* This class provides an abstract implementation of a database logger.
|
16
|
-
*
|
17
|
-
* That is, it provides the base implementation for a database logger to build atop of.
|
18
|
-
* All that is needed for a concrete database logger is to extend this class
|
19
|
-
* and override the methods in the implementation file that are prefixed with "db_".
|
20
|
-
**/
|
21
|
-
|
22
|
-
@interface DDAbstractDatabaseLogger : DDAbstractLogger {
|
23
|
-
@protected
|
24
|
-
NSUInteger saveThreshold;
|
25
|
-
NSTimeInterval saveInterval;
|
26
|
-
NSTimeInterval maxAge;
|
27
|
-
NSTimeInterval deleteInterval;
|
28
|
-
BOOL deleteOnEverySave;
|
29
|
-
|
30
|
-
BOOL saveTimerSuspended;
|
31
|
-
NSUInteger unsavedCount;
|
32
|
-
dispatch_time_t unsavedTime;
|
33
|
-
dispatch_source_t saveTimer;
|
34
|
-
dispatch_time_t lastDeleteTime;
|
35
|
-
dispatch_source_t deleteTimer;
|
36
|
-
}
|
37
|
-
|
38
|
-
/**
|
39
|
-
* Specifies how often to save the data to disk.
|
40
|
-
* Since saving is an expensive operation (disk io) it is not done after every log statement.
|
41
|
-
* These properties allow you to configure how/when the logger saves to disk.
|
42
|
-
*
|
43
|
-
* A save is done when either (whichever happens first):
|
44
|
-
*
|
45
|
-
* - The number of unsaved log entries reaches saveThreshold
|
46
|
-
* - The amount of time since the oldest unsaved log entry was created reaches saveInterval
|
47
|
-
*
|
48
|
-
* You can optionally disable the saveThreshold by setting it to zero.
|
49
|
-
* If you disable the saveThreshold you are entirely dependent on the saveInterval.
|
50
|
-
*
|
51
|
-
* You can optionally disable the saveInterval by setting it to zero (or a negative value).
|
52
|
-
* If you disable the saveInterval you are entirely dependent on the saveThreshold.
|
53
|
-
*
|
54
|
-
* It's not wise to disable both saveThreshold and saveInterval.
|
55
|
-
*
|
56
|
-
* The default saveThreshold is 500.
|
57
|
-
* The default saveInterval is 60 seconds.
|
58
|
-
**/
|
59
|
-
@property (assign, readwrite) NSUInteger saveThreshold;
|
60
|
-
@property (assign, readwrite) NSTimeInterval saveInterval;
|
61
|
-
|
62
|
-
/**
|
63
|
-
* It is likely you don't want the log entries to persist forever.
|
64
|
-
* Doing so would allow the database to grow infinitely large over time.
|
65
|
-
*
|
66
|
-
* The maxAge property provides a way to specify how old a log statement can get
|
67
|
-
* before it should get deleted from the database.
|
68
|
-
*
|
69
|
-
* The deleteInterval specifies how often to sweep for old log entries.
|
70
|
-
* Since deleting is an expensive operation (disk io) is is done on a fixed interval.
|
71
|
-
*
|
72
|
-
* An alternative to the deleteInterval is the deleteOnEverySave option.
|
73
|
-
* This specifies that old log entries should be deleted during every save operation.
|
74
|
-
*
|
75
|
-
* You can optionally disable the maxAge by setting it to zero (or a negative value).
|
76
|
-
* If you disable the maxAge then old log statements are not deleted.
|
77
|
-
*
|
78
|
-
* You can optionally disable the deleteInterval by setting it to zero (or a negative value).
|
79
|
-
*
|
80
|
-
* If you disable both deleteInterval and deleteOnEverySave then old log statements are not deleted.
|
81
|
-
*
|
82
|
-
* It's not wise to enable both deleteInterval and deleteOnEverySave.
|
83
|
-
*
|
84
|
-
* The default maxAge is 7 days.
|
85
|
-
* The default deleteInterval is 5 minutes.
|
86
|
-
* The default deleteOnEverySave is NO.
|
87
|
-
**/
|
88
|
-
@property (assign, readwrite) NSTimeInterval maxAge;
|
89
|
-
@property (assign, readwrite) NSTimeInterval deleteInterval;
|
90
|
-
@property (assign, readwrite) BOOL deleteOnEverySave;
|
91
|
-
|
92
|
-
/**
|
93
|
-
* Forces a save of any pending log entries (flushes log entries to disk).
|
94
|
-
**/
|
95
|
-
- (void)savePendingLogEntries;
|
96
|
-
|
97
|
-
/**
|
98
|
-
* Removes any log entries that are older than maxAge.
|
99
|
-
**/
|
100
|
-
- (void)deleteOldLogEntries;
|
101
|
-
|
102
|
-
@end
|