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.
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,63 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
- #import "DDLog.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" page.
11
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
12
- *
13
- *
14
- * This class provides a log formatter that filters log statements from a logging context not on the whitelist.
15
- *
16
- * A log formatter can be added to any logger to format and/or filter its output.
17
- * You can learn more about log formatters here:
18
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters
19
- *
20
- * You can learn more about logging context's here:
21
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomContext
22
- *
23
- * But here's a quick overview / refresher:
24
- *
25
- * Every log statement has a logging context.
26
- * These come from the underlying logging macros defined in DDLog.h.
27
- * The default logging context is zero.
28
- * You can define multiple logging context's for use in your application.
29
- * For example, logically separate parts of your app each have a different logging context.
30
- * Also 3rd party frameworks that make use of Lumberjack generally use their own dedicated logging context.
31
- **/
32
- @interface DDContextWhitelistFilterLogFormatter : NSObject <DDLogFormatter>
33
-
34
- - (id)init;
35
-
36
- - (void)addToWhitelist:(int)loggingContext;
37
- - (void)removeFromWhitelist:(int)loggingContext;
38
-
39
- - (NSArray *)whitelist;
40
-
41
- - (BOOL)isOnWhitelist:(int)loggingContext;
42
-
43
- @end
44
-
45
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
46
- #pragma mark -
47
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
48
-
49
- /**
50
- * This class provides a log formatter that filters log statements from a logging context on the blacklist.
51
- **/
52
- @interface DDContextBlacklistFilterLogFormatter : NSObject <DDLogFormatter>
53
-
54
- - (id)init;
55
-
56
- - (void)addToBlacklist:(int)loggingContext;
57
- - (void)removeFromBlacklist:(int)loggingContext;
58
-
59
- - (NSArray *)blacklist;
60
-
61
- - (BOOL)isOnBlacklist:(int)loggingContext;
62
-
63
- @end
@@ -1,191 +0,0 @@
1
- #import "DDContextFilterLogFormatter.h"
2
- #import <libkern/OSAtomic.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 DDLoggingContextSet : NSObject
19
-
20
- - (void)addToSet:(int)loggingContext;
21
- - (void)removeFromSet:(int)loggingContext;
22
-
23
- - (NSArray *)currentSet;
24
-
25
- - (BOOL)isInSet:(int)loggingContext;
26
-
27
- @end
28
-
29
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
30
- #pragma mark -
31
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
32
-
33
- @implementation DDContextWhitelistFilterLogFormatter
34
- {
35
- DDLoggingContextSet *contextSet;
36
- }
37
-
38
- - (id)init
39
- {
40
- if ((self = [super init]))
41
- {
42
- contextSet = [[DDLoggingContextSet alloc] init];
43
- }
44
- return self;
45
- }
46
-
47
-
48
- - (void)addToWhitelist:(int)loggingContext
49
- {
50
- [contextSet addToSet:loggingContext];
51
- }
52
-
53
- - (void)removeFromWhitelist:(int)loggingContext
54
- {
55
- [contextSet removeFromSet:loggingContext];
56
- }
57
-
58
- - (NSArray *)whitelist
59
- {
60
- return [contextSet currentSet];
61
- }
62
-
63
- - (BOOL)isOnWhitelist:(int)loggingContext
64
- {
65
- return [contextSet isInSet:loggingContext];
66
- }
67
-
68
- - (NSString *)formatLogMessage:(DDLogMessage *)logMessage
69
- {
70
- if ([self isOnWhitelist:logMessage->logContext])
71
- return logMessage->logMsg;
72
- else
73
- return nil;
74
- }
75
-
76
- @end
77
-
78
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
79
- #pragma mark -
80
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
81
-
82
- @implementation DDContextBlacklistFilterLogFormatter
83
- {
84
- DDLoggingContextSet *contextSet;
85
- }
86
-
87
- - (id)init
88
- {
89
- if ((self = [super init]))
90
- {
91
- contextSet = [[DDLoggingContextSet alloc] init];
92
- }
93
- return self;
94
- }
95
-
96
-
97
- - (void)addToBlacklist:(int)loggingContext
98
- {
99
- [contextSet addToSet:loggingContext];
100
- }
101
-
102
- - (void)removeFromBlacklist:(int)loggingContext
103
- {
104
- [contextSet removeFromSet:loggingContext];
105
- }
106
-
107
- - (NSArray *)blacklist
108
- {
109
- return [contextSet currentSet];
110
- }
111
-
112
- - (BOOL)isOnBlacklist:(int)loggingContext
113
- {
114
- return [contextSet isInSet:loggingContext];
115
- }
116
-
117
- - (NSString *)formatLogMessage:(DDLogMessage *)logMessage
118
- {
119
- if ([self isOnBlacklist:logMessage->logContext])
120
- return nil;
121
- else
122
- return logMessage->logMsg;
123
- }
124
-
125
- @end
126
-
127
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
128
- #pragma mark -
129
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
130
-
131
- @implementation DDLoggingContextSet
132
- {
133
- OSSpinLock lock;
134
- NSMutableSet *set;
135
- }
136
-
137
- - (id)init
138
- {
139
- if ((self = [super init]))
140
- {
141
- set = [[NSMutableSet alloc] init];
142
- }
143
- return self;
144
- }
145
-
146
-
147
- - (void)addToSet:(int)loggingContext
148
- {
149
- OSSpinLockLock(&lock);
150
- {
151
- [set addObject:@(loggingContext)];
152
- }
153
- OSSpinLockUnlock(&lock);
154
- }
155
-
156
- - (void)removeFromSet:(int)loggingContext
157
- {
158
- OSSpinLockLock(&lock);
159
- {
160
- [set removeObject:@(loggingContext)];
161
- }
162
- OSSpinLockUnlock(&lock);
163
- }
164
-
165
- - (NSArray *)currentSet
166
- {
167
- NSArray *result = nil;
168
-
169
- OSSpinLockLock(&lock);
170
- {
171
- result = [set allObjects];
172
- }
173
- OSSpinLockUnlock(&lock);
174
-
175
- return result;
176
- }
177
-
178
- - (BOOL)isInSet:(int)loggingContext
179
- {
180
- BOOL result = NO;
181
-
182
- OSSpinLockLock(&lock);
183
- {
184
- result = [set containsObject:@(loggingContext)];
185
- }
186
- OSSpinLockUnlock(&lock);
187
-
188
- return result;
189
- }
190
-
191
- @end
@@ -1,128 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
- #import <libkern/OSAtomic.h>
3
- #import "DDLog.h"
4
-
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" page.
13
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
14
- *
15
- *
16
- * This class provides a log formatter that prints the dispatch_queue label instead of the mach_thread_id.
17
- *
18
- * A log formatter can be added to any logger to format and/or filter its output.
19
- * You can learn more about log formatters here:
20
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters
21
- *
22
- * A typical NSLog (or DDTTYLogger) prints detailed info as [<process_id>:<thread_id>].
23
- * For example:
24
- *
25
- * 2011-10-17 20:21:45.435 AppName[19928:5207] Your log message here
26
- *
27
- * Where:
28
- * - 19928 = process id
29
- * - 5207 = thread id (mach_thread_id printed in hex)
30
- *
31
- * When using grand central dispatch (GCD), this information is less useful.
32
- * This is because a single serial dispatch queue may be run on any thread from an internally managed thread pool.
33
- * For example:
34
- *
35
- * 2011-10-17 20:32:31.111 AppName[19954:4d07] Message from my_serial_dispatch_queue
36
- * 2011-10-17 20:32:31.112 AppName[19954:5207] Message from my_serial_dispatch_queue
37
- * 2011-10-17 20:32:31.113 AppName[19954:2c55] Message from my_serial_dispatch_queue
38
- *
39
- * This formatter allows you to replace the standard [box:info] with the dispatch_queue name.
40
- * For example:
41
- *
42
- * 2011-10-17 20:32:31.111 AppName[img-scaling] Message from my_serial_dispatch_queue
43
- * 2011-10-17 20:32:31.112 AppName[img-scaling] Message from my_serial_dispatch_queue
44
- * 2011-10-17 20:32:31.113 AppName[img-scaling] Message from my_serial_dispatch_queue
45
- *
46
- * If the dispatch_queue doesn't have a set name, then it falls back to the thread name.
47
- * If the current thread doesn't have a set name, then it falls back to the mach_thread_id in hex (like normal).
48
- *
49
- * Note: If manually creating your own background threads (via NSThread/alloc/init or NSThread/detachNeThread),
50
- * you can use [[NSThread currentThread] setName:(NSString *)].
51
- **/
52
- @interface DDDispatchQueueLogFormatter : NSObject <DDLogFormatter> {
53
- @protected
54
-
55
- NSString *dateFormatString;
56
- }
57
-
58
- /**
59
- * Standard init method.
60
- * Configure using properties as desired.
61
- **/
62
- - (id)init;
63
-
64
- /**
65
- * The minQueueLength restricts the minimum size of the [detail box].
66
- * If the minQueueLength is set to 0, there is no restriction.
67
- *
68
- * For example, say a dispatch_queue has a label of "diskIO":
69
- *
70
- * If the minQueueLength is 0: [diskIO]
71
- * If the minQueueLength is 4: [diskIO]
72
- * If the minQueueLength is 5: [diskIO]
73
- * If the minQueueLength is 6: [diskIO]
74
- * If the minQueueLength is 7: [diskIO ]
75
- * If the minQueueLength is 8: [diskIO ]
76
- *
77
- * The default minQueueLength is 0 (no minimum, so [detail box] won't be padded).
78
- *
79
- * If you want every [detail box] to have the exact same width,
80
- * set both minQueueLength and maxQueueLength to the same value.
81
- **/
82
- @property (assign) NSUInteger minQueueLength;
83
-
84
- /**
85
- * The maxQueueLength restricts the number of characters that will be inside the [detail box].
86
- * If the maxQueueLength is 0, there is no restriction.
87
- *
88
- * For example, say a dispatch_queue has a label of "diskIO":
89
- *
90
- * If the maxQueueLength is 0: [diskIO]
91
- * If the maxQueueLength is 4: [disk]
92
- * If the maxQueueLength is 5: [diskI]
93
- * If the maxQueueLength is 6: [diskIO]
94
- * If the maxQueueLength is 7: [diskIO]
95
- * If the maxQueueLength is 8: [diskIO]
96
- *
97
- * The default maxQueueLength is 0 (no maximum, so [detail box] won't be truncated).
98
- *
99
- * If you want every [detail box] to have the exact same width,
100
- * set both minQueueLength and maxQueueLength to the same value.
101
- **/
102
- @property (assign) NSUInteger maxQueueLength;
103
-
104
- /**
105
- * Sometimes queue labels have long names like "com.apple.main-queue",
106
- * but you'd prefer something shorter like simply "main".
107
- *
108
- * This method allows you to set such preferred replacements.
109
- * The above example is set by default.
110
- *
111
- * To remove/undo a previous replacement, invoke this method with nil for the 'shortLabel' parameter.
112
- **/
113
- - (NSString *)replacementStringForQueueLabel:(NSString *)longLabel;
114
- - (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel;
115
-
116
- @end
117
-
118
- /**
119
- * Method declarations that make it easier to extend/modify DDDispatchQueueLogFormatter
120
- **/
121
- @interface DDDispatchQueueLogFormatter (OverridableMethods)
122
-
123
- - (NSString *)stringFromDate:(NSDate *)date;
124
- - (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage;
125
- - (NSString *)formatLogMessage:(DDLogMessage *)logMessage;
126
-
127
- @end
128
-
@@ -1,253 +0,0 @@
1
- #import "DDDispatchQueueLogFormatter.h"
2
- #import <libkern/OSAtomic.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
-
19
- @implementation DDDispatchQueueLogFormatter
20
- {
21
- int32_t atomicLoggerCount;
22
- NSDateFormatter *threadUnsafeDateFormatter; // Use [self stringFromDate]
23
-
24
- OSSpinLock lock;
25
-
26
- NSUInteger _minQueueLength; // _prefix == Only access via atomic property
27
- NSUInteger _maxQueueLength; // _prefix == Only access via atomic property
28
- NSMutableDictionary *_replacements; // _prefix == Only access from within spinlock
29
- }
30
-
31
- - (id)init
32
- {
33
- if ((self = [super init]))
34
- {
35
- dateFormatString = @"yyyy-MM-dd HH:mm:ss:SSS";
36
-
37
- atomicLoggerCount = 0;
38
- threadUnsafeDateFormatter = nil;
39
-
40
- _minQueueLength = 0;
41
- _maxQueueLength = 0;
42
- _replacements = [[NSMutableDictionary alloc] init];
43
-
44
- // Set default replacements:
45
-
46
- _replacements[@"com.apple.main-thread"] = @"main";
47
- }
48
- return self;
49
- }
50
-
51
-
52
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
53
- #pragma mark Configuration
54
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
55
-
56
- @synthesize minQueueLength = _minQueueLength;
57
- @synthesize maxQueueLength = _maxQueueLength;
58
-
59
- - (NSString *)replacementStringForQueueLabel:(NSString *)longLabel
60
- {
61
- NSString *result = nil;
62
-
63
- OSSpinLockLock(&lock);
64
- {
65
- result = _replacements[longLabel];
66
- }
67
- OSSpinLockUnlock(&lock);
68
-
69
- return result;
70
- }
71
-
72
- - (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel
73
- {
74
- OSSpinLockLock(&lock);
75
- {
76
- if (shortLabel)
77
- _replacements[longLabel] = shortLabel;
78
- else
79
- [_replacements removeObjectForKey:longLabel];
80
- }
81
- OSSpinLockUnlock(&lock);
82
- }
83
-
84
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
85
- #pragma mark DDLogFormatter
86
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
87
-
88
- - (NSString *)stringFromDate:(NSDate *)date
89
- {
90
- int32_t loggerCount = OSAtomicAdd32(0, &atomicLoggerCount);
91
-
92
- if (loggerCount <= 1)
93
- {
94
- // Single-threaded mode.
95
-
96
- if (threadUnsafeDateFormatter == nil)
97
- {
98
- threadUnsafeDateFormatter = [[NSDateFormatter alloc] init];
99
- [threadUnsafeDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
100
- [threadUnsafeDateFormatter setDateFormat:dateFormatString];
101
- }
102
-
103
- [threadUnsafeDateFormatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];
104
- return [threadUnsafeDateFormatter stringFromDate:date];
105
- }
106
- else
107
- {
108
- // Multi-threaded mode.
109
- // NSDateFormatter is NOT thread-safe.
110
-
111
- NSString *key = @"DispatchQueueLogFormatter_NSDateFormatter";
112
-
113
- NSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary];
114
- NSDateFormatter *dateFormatter = threadDictionary[key];
115
-
116
- if (dateFormatter == nil)
117
- {
118
- dateFormatter = [[NSDateFormatter alloc] init];
119
- [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
120
- [dateFormatter setDateFormat:dateFormatString];
121
-
122
- threadDictionary[key] = dateFormatter;
123
- }
124
-
125
- [dateFormatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];
126
- return [dateFormatter stringFromDate:date];
127
- }
128
- }
129
-
130
- - (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage
131
- {
132
- // As per the DDLogFormatter contract, this method is always invoked on the same thread/dispatch_queue
133
-
134
- NSUInteger minQueueLength = self.minQueueLength;
135
- NSUInteger maxQueueLength = self.maxQueueLength;
136
-
137
- // Get the name of the queue, thread, or machID (whichever we are to use).
138
-
139
- NSString *queueThreadLabel = nil;
140
-
141
- BOOL useQueueLabel = YES;
142
- BOOL useThreadName = NO;
143
-
144
- if (logMessage->queueLabel)
145
- {
146
- // If you manually create a thread, it's dispatch_queue will have one of the thread names below.
147
- // Since all such threads have the same name, we'd prefer to use the threadName or the machThreadID.
148
-
149
- char *names[] = { "com.apple.root.low-priority",
150
- "com.apple.root.default-priority",
151
- "com.apple.root.high-priority",
152
- "com.apple.root.low-overcommit-priority",
153
- "com.apple.root.default-overcommit-priority",
154
- "com.apple.root.high-overcommit-priority" };
155
-
156
- int length = sizeof(names) / sizeof(char *);
157
-
158
- int i;
159
- for (i = 0; i < length; i++)
160
- {
161
- if (strcmp(logMessage->queueLabel, names[i]) == 0)
162
- {
163
- useQueueLabel = NO;
164
- useThreadName = [logMessage->threadName length] > 0;
165
- break;
166
- }
167
- }
168
- }
169
- else
170
- {
171
- useQueueLabel = NO;
172
- useThreadName = [logMessage->threadName length] > 0;
173
- }
174
-
175
- if (useQueueLabel || useThreadName)
176
- {
177
- NSString *fullLabel;
178
- NSString *abrvLabel;
179
-
180
- if (useQueueLabel)
181
- fullLabel = @(logMessage->queueLabel);
182
- else
183
- fullLabel = logMessage->threadName;
184
-
185
- OSSpinLockLock(&lock);
186
- {
187
- abrvLabel = _replacements[fullLabel];
188
- }
189
- OSSpinLockUnlock(&lock);
190
-
191
- if (abrvLabel)
192
- queueThreadLabel = abrvLabel;
193
- else
194
- queueThreadLabel = fullLabel;
195
- }
196
- else
197
- {
198
- queueThreadLabel = [NSString stringWithFormat:@"%x", logMessage->machThreadID];
199
- }
200
-
201
- // Now use the thread label in the output
202
-
203
- NSUInteger labelLength = [queueThreadLabel length];
204
-
205
- // labelLength > maxQueueLength : truncate
206
- // labelLength < minQueueLength : padding
207
- // : exact
208
-
209
- if ((maxQueueLength > 0) && (labelLength > maxQueueLength))
210
- {
211
- // Truncate
212
-
213
- return [queueThreadLabel substringToIndex:maxQueueLength];
214
- }
215
- else if (labelLength < minQueueLength)
216
- {
217
- // Padding
218
-
219
- NSUInteger numSpaces = minQueueLength - labelLength;
220
-
221
- char spaces[numSpaces + 1];
222
- memset(spaces, ' ', numSpaces);
223
- spaces[numSpaces] = '\0';
224
-
225
- return [NSString stringWithFormat:@"%@%s", queueThreadLabel, spaces];
226
- }
227
- else
228
- {
229
- // Exact
230
-
231
- return queueThreadLabel;
232
- }
233
- }
234
-
235
- - (NSString *)formatLogMessage:(DDLogMessage *)logMessage
236
- {
237
- NSString *timestamp = [self stringFromDate:(logMessage->timestamp)];
238
- NSString *queueThreadLabel = [self queueThreadLabelForLogMessage:logMessage];
239
-
240
- return [NSString stringWithFormat:@"%@ [%@] %@", timestamp, queueThreadLabel, logMessage->logMsg];
241
- }
242
-
243
- - (void)didAddToLogger:(id <DDLogger>)logger
244
- {
245
- OSAtomicIncrement32(&atomicLoggerCount);
246
- }
247
-
248
- - (void)willRemoveFromLogger:(id <DDLogger>)logger
249
- {
250
- OSAtomicDecrement32(&atomicLoggerCount);
251
- }
252
-
253
- @end