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.
Files changed (294) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +3 -1
  4. data/lib/yapper.rb +3 -3
  5. data/lib/yapper/db.rb +61 -4
  6. data/lib/yapper/document/persistence.rb +4 -0
  7. data/lib/yapper/document/selection.rb +13 -0
  8. data/lib/yapper/version.rb +1 -1
  9. data/motion-yapper.gemspec +1 -1
  10. data/spec/integration/search_spec.rb +111 -0
  11. data/vendor/Podfile.lock +11 -7
  12. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +16 -2
  13. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +10 -7
  14. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +20 -2
  15. metadata +19 -297
  16. data/vendor/Pods/.build/libPods-CocoaLumberjack.a +0 -0
  17. data/vendor/Pods/.build/libPods-NSData+MD5Digest.a +0 -0
  18. data/vendor/Pods/.build/libPods-YapDatabase.a +0 -0
  19. data/vendor/Pods/.build/libPods.a +0 -0
  20. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDASLLogger.h +0 -41
  21. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +0 -102
  22. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDContextFilterLogFormatter.h +0 -63
  23. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDDispatchQueueLogFormatter.h +0 -128
  24. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +0 -369
  25. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog+LOGV.h +0 -99
  26. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +0 -634
  27. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDMultiFormatter.h +0 -30
  28. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +0 -181
  29. data/vendor/Pods/BuildHeaders/NSData+MD5Digest/NSData+MD5Digest.h +0 -18
  30. data/vendor/Pods/BuildHeaders/YapDatabase/NSDictionary+YapDatabase.h +0 -8
  31. data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +0 -91
  32. data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +0 -23
  33. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +0 -547
  34. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +0 -449
  35. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnectionState.h +0 -29
  36. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +0 -37
  37. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtension.h +0 -15
  38. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionConnection.h +0 -11
  39. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +0 -444
  40. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionTransaction.h +0 -11
  41. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +0 -81
  42. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewConnection.h +0 -12
  43. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -17
  44. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +0 -39
  45. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTypes.h +0 -32
  46. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearch.h +0 -89
  47. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchConnection.h +0 -32
  48. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +0 -77
  49. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +0 -79
  50. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchTransaction.h +0 -68
  51. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseLogging.h +0 -158
  52. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseManager.h +0 -17
  53. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +0 -446
  54. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseQuery.h +0 -42
  55. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationship.h +0 -35
  56. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipConnection.h +0 -29
  57. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdge.h +0 -163
  58. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdgePrivate.h +0 -79
  59. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipNode.h +0 -99
  60. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipOptions.h +0 -59
  61. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipPrivate.h +0 -125
  62. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipTransaction.h +0 -384
  63. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +0 -149
  64. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexConnection.h +0 -33
  65. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +0 -83
  66. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetup.h +0 -33
  67. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetupPrivate.h +0 -18
  68. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +0 -58
  69. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseStatement.h +0 -13
  70. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseString.h +0 -121
  71. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +0 -651
  72. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +0 -127
  73. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +0 -272
  74. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChangePrivate.h +0 -94
  75. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +0 -116
  76. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +0 -842
  77. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappingsPrivate.h +0 -72
  78. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +0 -63
  79. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPage.h +0 -36
  80. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPageMetadata.h +0 -27
  81. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +0 -170
  82. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptions.h +0 -330
  83. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +0 -17
  84. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +0 -498
  85. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTypes.h +0 -99
  86. data/vendor/Pods/BuildHeaders/YapDatabase/YapMemoryTable.h +0 -74
  87. data/vendor/Pods/BuildHeaders/YapDatabase/YapNull.h +0 -17
  88. data/vendor/Pods/BuildHeaders/YapDatabase/YapSet.h +0 -41
  89. data/vendor/Pods/BuildHeaders/YapDatabase/YapTouch.h +0 -15
  90. data/vendor/Pods/CocoaLumberjack/LICENSE.txt +0 -18
  91. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +0 -41
  92. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +0 -100
  93. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +0 -102
  94. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +0 -727
  95. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +0 -369
  96. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +0 -1539
  97. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog+LOGV.h +0 -99
  98. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +0 -634
  99. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +0 -1208
  100. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +0 -181
  101. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +0 -1520
  102. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.h +0 -63
  103. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.m +0 -191
  104. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.h +0 -128
  105. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.m +0 -253
  106. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.h +0 -30
  107. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.m +0 -127
  108. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +0 -7
  109. data/vendor/Pods/CocoaLumberjack/README.markdown +0 -74
  110. data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +0 -41
  111. data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +0 -102
  112. data/vendor/Pods/Headers/CocoaLumberjack/DDContextFilterLogFormatter.h +0 -63
  113. data/vendor/Pods/Headers/CocoaLumberjack/DDDispatchQueueLogFormatter.h +0 -128
  114. data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +0 -369
  115. data/vendor/Pods/Headers/CocoaLumberjack/DDLog+LOGV.h +0 -99
  116. data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +0 -634
  117. data/vendor/Pods/Headers/CocoaLumberjack/DDMultiFormatter.h +0 -30
  118. data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +0 -181
  119. data/vendor/Pods/Headers/NSData+MD5Digest/NSData+MD5Digest.h +0 -18
  120. data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +0 -23
  121. data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +0 -547
  122. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +0 -449
  123. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtension.h +0 -15
  124. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionConnection.h +0 -11
  125. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionTransaction.h +0 -11
  126. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +0 -81
  127. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewConnection.h +0 -12
  128. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +0 -39
  129. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTypes.h +0 -32
  130. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearch.h +0 -89
  131. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchConnection.h +0 -32
  132. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +0 -79
  133. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchTransaction.h +0 -68
  134. data/vendor/Pods/Headers/YapDatabase/YapDatabaseQuery.h +0 -42
  135. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationship.h +0 -35
  136. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipConnection.h +0 -29
  137. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipEdge.h +0 -163
  138. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipNode.h +0 -99
  139. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipOptions.h +0 -59
  140. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipTransaction.h +0 -384
  141. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +0 -149
  142. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexConnection.h +0 -33
  143. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexSetup.h +0 -33
  144. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +0 -58
  145. data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +0 -651
  146. data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +0 -127
  147. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +0 -272
  148. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +0 -116
  149. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +0 -842
  150. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +0 -63
  151. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptions.h +0 -330
  152. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +0 -498
  153. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTypes.h +0 -99
  154. data/vendor/Pods/Headers/YapDatabase/YapSet.h +0 -41
  155. data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +0 -7
  156. data/vendor/Pods/Headers/____Pods-NSData+MD5Digest-prefix.h +0 -5
  157. data/vendor/Pods/Headers/____Pods-YapDatabase-prefix.h +0 -5
  158. data/vendor/Pods/Headers/____Pods-environment.h +0 -38
  159. data/vendor/Pods/Manifest.lock +0 -22
  160. data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.h +0 -18
  161. data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.m +0 -39
  162. data/vendor/Pods/NSData+MD5Digest/README.md +0 -11
  163. data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +0 -5
  164. data/vendor/Pods/Pods-CocoaLumberjack-dummy.m +0 -5
  165. data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +0 -7
  166. data/vendor/Pods/Pods-CocoaLumberjack.xcconfig +0 -0
  167. data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +0 -5
  168. data/vendor/Pods/Pods-NSData+MD5Digest-dummy.m +0 -5
  169. data/vendor/Pods/Pods-NSData+MD5Digest-prefix.pch +0 -5
  170. data/vendor/Pods/Pods-NSData+MD5Digest.xcconfig +0 -0
  171. data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +0 -5
  172. data/vendor/Pods/Pods-YapDatabase-dummy.m +0 -5
  173. data/vendor/Pods/Pods-YapDatabase-prefix.pch +0 -5
  174. data/vendor/Pods/Pods-YapDatabase.xcconfig +0 -1
  175. data/vendor/Pods/Pods-acknowledgements.markdown +0 -59
  176. data/vendor/Pods/Pods-acknowledgements.plist +0 -97
  177. data/vendor/Pods/Pods-dummy.m +0 -5
  178. data/vendor/Pods/Pods-environment.h +0 -38
  179. data/vendor/Pods/Pods-resources.sh +0 -68
  180. data/vendor/Pods/Pods.xcconfig +0 -5
  181. data/vendor/Pods/Pods.xcodeproj/project.pbxproj +0 -4807
  182. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-CocoaLumberjack.xcscheme +0 -59
  183. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-NSData+MD5Digest.xcscheme +0 -59
  184. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-YapDatabase.xcscheme +0 -59
  185. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods.xcscheme +0 -59
  186. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/xcschememanagement.plist +0 -31
  187. data/vendor/Pods/YapDatabase/LICENSE.txt +0 -18
  188. data/vendor/Pods/YapDatabase/README.md +0 -32
  189. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +0 -17
  190. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +0 -81
  191. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +0 -159
  192. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.h +0 -12
  193. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.m +0 -41
  194. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +0 -39
  195. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +0 -1235
  196. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.h +0 -32
  197. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +0 -77
  198. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h +0 -89
  199. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m +0 -146
  200. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h +0 -32
  201. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +0 -298
  202. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h +0 -79
  203. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m +0 -95
  204. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h +0 -68
  205. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +0 -1403
  206. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +0 -444
  207. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.h +0 -15
  208. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +0 -83
  209. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h +0 -11
  210. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +0 -46
  211. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h +0 -11
  212. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +0 -204
  213. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h +0 -79
  214. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h +0 -125
  215. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h +0 -35
  216. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m +0 -129
  217. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h +0 -29
  218. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m +0 -802
  219. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h +0 -163
  220. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m +0 -408
  221. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h +0 -99
  222. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h +0 -59
  223. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m +0 -29
  224. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h +0 -384
  225. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m +0 -5254
  226. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +0 -83
  227. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexSetupPrivate.h +0 -18
  228. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +0 -149
  229. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +0 -161
  230. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h +0 -33
  231. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +0 -331
  232. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h +0 -33
  233. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +0 -245
  234. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h +0 -58
  235. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +0 -1269
  236. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewChangePrivate.h +0 -94
  237. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewMappingsPrivate.h +0 -72
  238. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.h +0 -36
  239. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.mm +0 -296
  240. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.h +0 -27
  241. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.m +0 -28
  242. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +0 -170
  243. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewRangeOptionsPrivate.h +0 -17
  244. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +0 -272
  245. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +0 -2500
  246. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +0 -842
  247. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +0 -1714
  248. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.h +0 -330
  249. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.m +0 -141
  250. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +0 -127
  251. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +0 -194
  252. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +0 -116
  253. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +0 -888
  254. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +0 -63
  255. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.m +0 -27
  256. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +0 -498
  257. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +0 -4986
  258. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.h +0 -99
  259. data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.h +0 -8
  260. data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.m +0 -19
  261. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +0 -91
  262. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +0 -465
  263. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.h +0 -29
  264. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.m +0 -48
  265. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +0 -37
  266. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +0 -83
  267. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.h +0 -158
  268. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.m +0 -73
  269. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.h +0 -17
  270. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.m +0 -56
  271. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +0 -446
  272. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.h +0 -13
  273. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.m +0 -26
  274. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseString.h +0 -121
  275. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.h +0 -74
  276. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.m +0 -603
  277. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.h +0 -17
  278. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +0 -35
  279. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.h +0 -15
  280. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.m +0 -31
  281. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +0 -23
  282. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +0 -199
  283. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.h +0 -42
  284. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.m +0 -96
  285. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.h +0 -41
  286. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.m +0 -82
  287. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +0 -547
  288. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +0 -2013
  289. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +0 -449
  290. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +0 -4046
  291. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +0 -651
  292. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +0 -5602
  293. data/vendor/Pods/build-iPhoneSimulator/Pods.bridgesupport +0 -3172
  294. data/vendor/Pods/build-iPhoneSimulator/libPods.a +0 -0
@@ -1,727 +0,0 @@
1
- #import "DDAbstractDatabaseLogger.h"
2
- #import <math.h>
3
-
4
- /**
5
- * Welcome to Cocoa Lumberjack!
6
- *
7
- * The project page has a wealth of documentation if you have any questions.
8
- * https://github.com/CocoaLumberjack/CocoaLumberjack
9
- *
10
- * If you're new to the project you may wish to read the "Getting Started" wiki.
11
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
12
- **/
13
-
14
- #if ! __has_feature(objc_arc)
15
- #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
16
- #endif
17
-
18
- @interface DDAbstractDatabaseLogger ()
19
- - (void)destroySaveTimer;
20
- - (void)destroyDeleteTimer;
21
- @end
22
-
23
- #pragma mark -
24
-
25
- @implementation DDAbstractDatabaseLogger
26
-
27
- - (id)init
28
- {
29
- if ((self = [super init]))
30
- {
31
- saveThreshold = 500;
32
- saveInterval = 60; // 60 seconds
33
- maxAge = (60 * 60 * 24 * 7); // 7 days
34
- deleteInterval = (60 * 5); // 5 minutes
35
- }
36
- return self;
37
- }
38
-
39
- - (void)dealloc
40
- {
41
- [self destroySaveTimer];
42
- [self destroyDeleteTimer];
43
-
44
- }
45
-
46
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
47
- #pragma mark Override Me
48
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
49
-
50
- - (BOOL)db_log:(DDLogMessage *)logMessage
51
- {
52
- // Override me and add your implementation.
53
- //
54
- // Return YES if an item was added to the buffer.
55
- // Return NO if the logMessage was ignored.
56
-
57
- return NO;
58
- }
59
-
60
- - (void)db_save
61
- {
62
- // Override me and add your implementation.
63
- }
64
-
65
- - (void)db_delete
66
- {
67
- // Override me and add your implementation.
68
- }
69
-
70
- - (void)db_saveAndDelete
71
- {
72
- // Override me and add your implementation.
73
- }
74
-
75
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
76
- #pragma mark Private API
77
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
78
-
79
- - (void)performSaveAndSuspendSaveTimer
80
- {
81
- if (unsavedCount > 0)
82
- {
83
- if (deleteOnEverySave)
84
- [self db_saveAndDelete];
85
- else
86
- [self db_save];
87
- }
88
-
89
- unsavedCount = 0;
90
- unsavedTime = 0;
91
-
92
- if (saveTimer && !saveTimerSuspended)
93
- {
94
- dispatch_suspend(saveTimer);
95
- saveTimerSuspended = YES;
96
- }
97
- }
98
-
99
- - (void)performDelete
100
- {
101
- if (maxAge > 0.0)
102
- {
103
- [self db_delete];
104
-
105
- lastDeleteTime = dispatch_time(DISPATCH_TIME_NOW, 0);
106
- }
107
- }
108
-
109
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
110
- #pragma mark Timers
111
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
112
-
113
- - (void)destroySaveTimer
114
- {
115
- if (saveTimer)
116
- {
117
- dispatch_source_cancel(saveTimer);
118
- if (saveTimerSuspended)
119
- {
120
- // Must resume a timer before releasing it (or it will crash)
121
- dispatch_resume(saveTimer);
122
- saveTimerSuspended = NO;
123
- }
124
- #if !OS_OBJECT_USE_OBJC
125
- dispatch_release(saveTimer);
126
- #endif
127
- saveTimer = NULL;
128
- }
129
- }
130
-
131
- - (void)updateAndResumeSaveTimer
132
- {
133
- if ((saveTimer != NULL) && (saveInterval > 0.0) && (unsavedTime > 0.0))
134
- {
135
- uint64_t interval = (uint64_t)(saveInterval * NSEC_PER_SEC);
136
- dispatch_time_t startTime = dispatch_time(unsavedTime, interval);
137
-
138
- dispatch_source_set_timer(saveTimer, startTime, interval, 1.0);
139
-
140
- if (saveTimerSuspended)
141
- {
142
- dispatch_resume(saveTimer);
143
- saveTimerSuspended = NO;
144
- }
145
- }
146
- }
147
-
148
- - (void)createSuspendedSaveTimer
149
- {
150
- if ((saveTimer == NULL) && (saveInterval > 0.0))
151
- {
152
- saveTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue);
153
-
154
- dispatch_source_set_event_handler(saveTimer, ^{ @autoreleasepool {
155
-
156
- [self performSaveAndSuspendSaveTimer];
157
-
158
- }});
159
-
160
- saveTimerSuspended = YES;
161
- }
162
- }
163
-
164
- - (void)destroyDeleteTimer
165
- {
166
- if (deleteTimer)
167
- {
168
- dispatch_source_cancel(deleteTimer);
169
- #if !OS_OBJECT_USE_OBJC
170
- dispatch_release(deleteTimer);
171
- #endif
172
- deleteTimer = NULL;
173
- }
174
- }
175
-
176
- - (void)updateDeleteTimer
177
- {
178
- if ((deleteTimer != NULL) && (deleteInterval > 0.0) && (maxAge > 0.0))
179
- {
180
- uint64_t interval = (uint64_t)(deleteInterval * NSEC_PER_SEC);
181
- dispatch_time_t startTime;
182
-
183
- if (lastDeleteTime > 0)
184
- startTime = dispatch_time(lastDeleteTime, interval);
185
- else
186
- startTime = dispatch_time(DISPATCH_TIME_NOW, interval);
187
-
188
- dispatch_source_set_timer(deleteTimer, startTime, interval, 1.0);
189
- }
190
- }
191
-
192
- - (void)createAndStartDeleteTimer
193
- {
194
- if ((deleteTimer == NULL) && (deleteInterval > 0.0) && (maxAge > 0.0))
195
- {
196
- deleteTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue);
197
-
198
- if (deleteTimer != NULL) {
199
- dispatch_source_set_event_handler(deleteTimer, ^{ @autoreleasepool {
200
-
201
- [self performDelete];
202
-
203
- }});
204
-
205
- [self updateDeleteTimer];
206
-
207
- if (deleteTimer != NULL) dispatch_resume(deleteTimer);
208
- }
209
- }
210
- }
211
-
212
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
213
- #pragma mark Configuration
214
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
215
-
216
- - (NSUInteger)saveThreshold
217
- {
218
- // The design of this method is taken from the DDAbstractLogger implementation.
219
- // For extensive documentation please refer to the DDAbstractLogger implementation.
220
-
221
- // Note: The internal implementation MUST access the colorsEnabled variable directly,
222
- // This method is designed explicitly for external access.
223
- //
224
- // Using "self." syntax to go through this method will cause immediate deadlock.
225
- // This is the intended result. Fix it by accessing the ivar directly.
226
- // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.
227
-
228
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
229
- NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax.");
230
-
231
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
232
-
233
- __block NSUInteger result;
234
-
235
- dispatch_sync(globalLoggingQueue, ^{
236
- dispatch_sync(loggerQueue, ^{
237
- result = saveThreshold;
238
- });
239
- });
240
-
241
- return result;
242
- }
243
-
244
- - (void)setSaveThreshold:(NSUInteger)threshold
245
- {
246
- dispatch_block_t block = ^{ @autoreleasepool {
247
-
248
- if (saveThreshold != threshold)
249
- {
250
- saveThreshold = threshold;
251
-
252
- // Since the saveThreshold has changed,
253
- // we check to see if the current unsavedCount has surpassed the new threshold.
254
- //
255
- // If it has, we immediately save the log.
256
-
257
- if ((unsavedCount >= saveThreshold) && (saveThreshold > 0))
258
- {
259
- [self performSaveAndSuspendSaveTimer];
260
- }
261
- }
262
- }};
263
-
264
- // The design of the setter logic below is taken from the DDAbstractLogger implementation.
265
- // For documentation please refer to the DDAbstractLogger implementation.
266
-
267
- if ([self isOnInternalLoggerQueue])
268
- {
269
- block();
270
- }
271
- else
272
- {
273
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
274
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
275
-
276
- dispatch_async(globalLoggingQueue, ^{
277
- dispatch_async(loggerQueue, block);
278
- });
279
- }
280
- }
281
-
282
- - (NSTimeInterval)saveInterval
283
- {
284
- // The design of this method is taken from the DDAbstractLogger implementation.
285
- // For extensive documentation please refer to the DDAbstractLogger implementation.
286
-
287
- // Note: The internal implementation MUST access the colorsEnabled variable directly,
288
- // This method is designed explicitly for external access.
289
- //
290
- // Using "self." syntax to go through this method will cause immediate deadlock.
291
- // This is the intended result. Fix it by accessing the ivar directly.
292
- // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.
293
-
294
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
295
- NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax.");
296
-
297
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
298
-
299
- __block NSTimeInterval result;
300
-
301
- dispatch_sync(globalLoggingQueue, ^{
302
- dispatch_sync(loggerQueue, ^{
303
- result = saveInterval;
304
- });
305
- });
306
-
307
- return result;
308
- }
309
-
310
- - (void)setSaveInterval:(NSTimeInterval)interval
311
- {
312
- dispatch_block_t block = ^{ @autoreleasepool {
313
-
314
- // C99 recommended floating point comparison macro
315
- // Read: isLessThanOrGreaterThan(floatA, floatB)
316
-
317
- if (/* saveInterval != interval */ islessgreater(saveInterval, interval))
318
- {
319
- saveInterval = interval;
320
-
321
- // There are several cases we need to handle here.
322
- //
323
- // 1. If the saveInterval was previously enabled and it just got disabled,
324
- // then we need to stop the saveTimer. (And we might as well release it.)
325
- //
326
- // 2. If the saveInterval was previously disabled and it just got enabled,
327
- // then we need to setup the saveTimer. (Plus we might need to do an immediate save.)
328
- //
329
- // 3. If the saveInterval increased, then we need to reset the timer so that it fires at the later date.
330
- //
331
- // 4. If the saveInterval decreased, then we need to reset the timer so that it fires at an earlier date.
332
- // (Plus we might need to do an immediate save.)
333
-
334
- if (saveInterval > 0.0)
335
- {
336
- if (saveTimer == NULL)
337
- {
338
- // Handles #2
339
- //
340
- // Since the saveTimer uses the unsavedTime to calculate it's first fireDate,
341
- // if a save is needed the timer will fire immediately.
342
-
343
- [self createSuspendedSaveTimer];
344
- [self updateAndResumeSaveTimer];
345
- }
346
- else
347
- {
348
- // Handles #3
349
- // Handles #4
350
- //
351
- // Since the saveTimer uses the unsavedTime to calculate it's first fireDate,
352
- // if a save is needed the timer will fire immediately.
353
-
354
- [self updateAndResumeSaveTimer];
355
- }
356
- }
357
- else if (saveTimer)
358
- {
359
- // Handles #1
360
-
361
- [self destroySaveTimer];
362
- }
363
- }
364
- }};
365
-
366
- // The design of the setter logic below is taken from the DDAbstractLogger implementation.
367
- // For documentation please refer to the DDAbstractLogger implementation.
368
-
369
- if ([self isOnInternalLoggerQueue])
370
- {
371
- block();
372
- }
373
- else
374
- {
375
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
376
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
377
-
378
- dispatch_async(globalLoggingQueue, ^{
379
- dispatch_async(loggerQueue, block);
380
- });
381
- }
382
- }
383
-
384
- - (NSTimeInterval)maxAge
385
- {
386
- // The design of this method is taken from the DDAbstractLogger implementation.
387
- // For extensive documentation please refer to the DDAbstractLogger implementation.
388
-
389
- // Note: The internal implementation MUST access the colorsEnabled variable directly,
390
- // This method is designed explicitly for external access.
391
- //
392
- // Using "self." syntax to go through this method will cause immediate deadlock.
393
- // This is the intended result. Fix it by accessing the ivar directly.
394
- // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.
395
-
396
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
397
- NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax.");
398
-
399
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
400
-
401
- __block NSTimeInterval result;
402
-
403
- dispatch_sync(globalLoggingQueue, ^{
404
- dispatch_sync(loggerQueue, ^{
405
- result = maxAge;
406
- });
407
- });
408
-
409
- return result;
410
- }
411
-
412
- - (void)setMaxAge:(NSTimeInterval)interval
413
- {
414
- dispatch_block_t block = ^{ @autoreleasepool {
415
-
416
- // C99 recommended floating point comparison macro
417
- // Read: isLessThanOrGreaterThan(floatA, floatB)
418
-
419
- if (/* maxAge != interval */ islessgreater(maxAge, interval))
420
- {
421
- NSTimeInterval oldMaxAge = maxAge;
422
- NSTimeInterval newMaxAge = interval;
423
-
424
- maxAge = interval;
425
-
426
- // There are several cases we need to handle here.
427
- //
428
- // 1. If the maxAge was previously enabled and it just got disabled,
429
- // then we need to stop the deleteTimer. (And we might as well release it.)
430
- //
431
- // 2. If the maxAge was previously disabled and it just got enabled,
432
- // then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.)
433
- //
434
- // 3. If the maxAge was increased,
435
- // then we don't need to do anything.
436
- //
437
- // 4. If the maxAge was decreased,
438
- // then we should do an immediate delete.
439
-
440
- BOOL shouldDeleteNow = NO;
441
-
442
- if (oldMaxAge > 0.0)
443
- {
444
- if (newMaxAge <= 0.0)
445
- {
446
- // Handles #1
447
-
448
- [self destroyDeleteTimer];
449
- }
450
- else if (oldMaxAge > newMaxAge)
451
- {
452
- // Handles #4
453
- shouldDeleteNow = YES;
454
- }
455
- }
456
- else if (newMaxAge > 0.0)
457
- {
458
- // Handles #2
459
- shouldDeleteNow = YES;
460
- }
461
-
462
- if (shouldDeleteNow)
463
- {
464
- [self performDelete];
465
-
466
- if (deleteTimer)
467
- [self updateDeleteTimer];
468
- else
469
- [self createAndStartDeleteTimer];
470
- }
471
- }
472
- }};
473
-
474
- // The design of the setter logic below is taken from the DDAbstractLogger implementation.
475
- // For documentation please refer to the DDAbstractLogger implementation.
476
-
477
- if ([self isOnInternalLoggerQueue])
478
- {
479
- block();
480
- }
481
- else
482
- {
483
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
484
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
485
-
486
- dispatch_async(globalLoggingQueue, ^{
487
- dispatch_async(loggerQueue, block);
488
- });
489
- }
490
- }
491
-
492
- - (NSTimeInterval)deleteInterval
493
- {
494
- // The design of this method is taken from the DDAbstractLogger implementation.
495
- // For extensive documentation please refer to the DDAbstractLogger implementation.
496
-
497
- // Note: The internal implementation MUST access the colorsEnabled variable directly,
498
- // This method is designed explicitly for external access.
499
- //
500
- // Using "self." syntax to go through this method will cause immediate deadlock.
501
- // This is the intended result. Fix it by accessing the ivar directly.
502
- // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.
503
-
504
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
505
- NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax.");
506
-
507
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
508
-
509
- __block NSTimeInterval result;
510
-
511
- dispatch_sync(globalLoggingQueue, ^{
512
- dispatch_sync(loggerQueue, ^{
513
- result = deleteInterval;
514
- });
515
- });
516
-
517
- return result;
518
- }
519
-
520
- - (void)setDeleteInterval:(NSTimeInterval)interval
521
- {
522
- dispatch_block_t block = ^{ @autoreleasepool {
523
-
524
- // C99 recommended floating point comparison macro
525
- // Read: isLessThanOrGreaterThan(floatA, floatB)
526
-
527
- if (/* deleteInterval != interval */ islessgreater(deleteInterval, interval))
528
- {
529
- deleteInterval = interval;
530
-
531
- // There are several cases we need to handle here.
532
- //
533
- // 1. If the deleteInterval was previously enabled and it just got disabled,
534
- // then we need to stop the deleteTimer. (And we might as well release it.)
535
- //
536
- // 2. If the deleteInterval was previously disabled and it just got enabled,
537
- // then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.)
538
- //
539
- // 3. If the deleteInterval increased, then we need to reset the timer so that it fires at the later date.
540
- //
541
- // 4. If the deleteInterval decreased, then we need to reset the timer so that it fires at an earlier date.
542
- // (Plus we might need to do an immediate delete.)
543
-
544
- if (deleteInterval > 0.0)
545
- {
546
- if (deleteTimer == NULL)
547
- {
548
- // Handles #2
549
- //
550
- // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate,
551
- // if a delete is needed the timer will fire immediately.
552
-
553
- [self createAndStartDeleteTimer];
554
- }
555
- else
556
- {
557
- // Handles #3
558
- // Handles #4
559
- //
560
- // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate,
561
- // if a save is needed the timer will fire immediately.
562
-
563
- [self updateDeleteTimer];
564
- }
565
- }
566
- else if (deleteTimer)
567
- {
568
- // Handles #1
569
-
570
- [self destroyDeleteTimer];
571
- }
572
- }
573
- }};
574
-
575
- // The design of the setter logic below is taken from the DDAbstractLogger implementation.
576
- // For documentation please refer to the DDAbstractLogger implementation.
577
-
578
- if ([self isOnInternalLoggerQueue])
579
- {
580
- block();
581
- }
582
- else
583
- {
584
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
585
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
586
-
587
- dispatch_async(globalLoggingQueue, ^{
588
- dispatch_async(loggerQueue, block);
589
- });
590
- }
591
- }
592
-
593
- - (BOOL)deleteOnEverySave
594
- {
595
- // The design of this method is taken from the DDAbstractLogger implementation.
596
- // For extensive documentation please refer to the DDAbstractLogger implementation.
597
-
598
- // Note: The internal implementation MUST access the colorsEnabled variable directly,
599
- // This method is designed explicitly for external access.
600
- //
601
- // Using "self." syntax to go through this method will cause immediate deadlock.
602
- // This is the intended result. Fix it by accessing the ivar directly.
603
- // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.
604
-
605
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
606
- NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax.");
607
-
608
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
609
-
610
- __block BOOL result;
611
-
612
- dispatch_sync(globalLoggingQueue, ^{
613
- dispatch_sync(loggerQueue, ^{
614
- result = deleteOnEverySave;
615
- });
616
- });
617
-
618
- return result;
619
- }
620
-
621
- - (void)setDeleteOnEverySave:(BOOL)flag
622
- {
623
- dispatch_block_t block = ^{
624
-
625
- deleteOnEverySave = flag;
626
- };
627
-
628
- // The design of the setter logic below is taken from the DDAbstractLogger implementation.
629
- // For documentation please refer to the DDAbstractLogger implementation.
630
-
631
- if ([self isOnInternalLoggerQueue])
632
- {
633
- block();
634
- }
635
- else
636
- {
637
- dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];
638
- NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure");
639
-
640
- dispatch_async(globalLoggingQueue, ^{
641
- dispatch_async(loggerQueue, block);
642
- });
643
- }
644
- }
645
-
646
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
647
- #pragma mark Public API
648
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
649
-
650
- - (void)savePendingLogEntries
651
- {
652
- dispatch_block_t block = ^{ @autoreleasepool {
653
-
654
- [self performSaveAndSuspendSaveTimer];
655
- }};
656
-
657
- if ([self isOnInternalLoggerQueue])
658
- block();
659
- else
660
- dispatch_async(loggerQueue, block);
661
- }
662
-
663
- - (void)deleteOldLogEntries
664
- {
665
- dispatch_block_t block = ^{ @autoreleasepool {
666
-
667
- [self performDelete];
668
- }};
669
-
670
- if ([self isOnInternalLoggerQueue])
671
- block();
672
- else
673
- dispatch_async(loggerQueue, block);
674
- }
675
-
676
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
677
- #pragma mark DDLogger
678
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
679
-
680
- - (void)didAddLogger
681
- {
682
- // If you override me be sure to invoke [super didAddLogger];
683
-
684
- [self createSuspendedSaveTimer];
685
-
686
- [self createAndStartDeleteTimer];
687
- }
688
-
689
- - (void)willRemoveLogger
690
- {
691
- // If you override me be sure to invoke [super willRemoveLogger];
692
-
693
- [self performSaveAndSuspendSaveTimer];
694
-
695
- [self destroySaveTimer];
696
- [self destroyDeleteTimer];
697
- }
698
-
699
- - (void)logMessage:(DDLogMessage *)logMessage
700
- {
701
- if ([self db_log:logMessage])
702
- {
703
- BOOL firstUnsavedEntry = (++unsavedCount == 1);
704
-
705
- if ((unsavedCount >= saveThreshold) && (saveThreshold > 0))
706
- {
707
- [self performSaveAndSuspendSaveTimer];
708
- }
709
- else if (firstUnsavedEntry)
710
- {
711
- unsavedTime = dispatch_time(DISPATCH_TIME_NOW, 0);
712
- [self updateAndResumeSaveTimer];
713
- }
714
- }
715
- }
716
-
717
- - (void)flush
718
- {
719
- // This method is invoked by DDLog's flushLog method.
720
- //
721
- // It is called automatically when the application quits,
722
- // or if the developer invokes DDLog's flushLog method prior to crashing or something.
723
-
724
- [self performSaveAndSuspendSaveTimer];
725
- }
726
-
727
- @end