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,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