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,99 +0,0 @@
1
- //
2
- // DDLog+LOGV.h
3
- // Lumberjack
4
- //
5
- // Created by Mike Pontillo on 11/20/12.
6
- //
7
- //
8
-
9
- #ifndef Lumberjack_DDLog_LOGV_h
10
- #define Lumberjack_DDLog_LOGV_h
11
-
12
- #import "DDLog.h"
13
-
14
-
15
- #define LOGV_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, avalist) \
16
- [DDLog log:isAsynchronous \
17
- level:lvl \
18
- flag:flg \
19
- context:ctx \
20
- file:__FILE__ \
21
- function:fnct \
22
- line:__LINE__ \
23
- tag:atag \
24
- format:frmt \
25
- args:avalist]
26
-
27
- #define LOGV_OBJC_MACRO(async, lvl, flg, ctx, frmt, avalist) \
28
- LOGV_MACRO(async, lvl, flg, ctx, nil, sel_getName(_cmd), frmt, avalist)
29
-
30
- #define LOGV_C_MACRO(async, lvl, flg, ctx, frmt, avalist) \
31
- LOGV_MACRO(async, lvl, flg, ctx, nil, __FUNCTION__, frmt, avalist)
32
-
33
-
34
-
35
- #define SYNC_LOGV_OBJC_MACRO(lvl, flg, ctx, frmt, avalist) \
36
- LOGV_OBJC_MACRO( NO, lvl, flg, ctx, frmt, avalist)
37
-
38
- #define ASYNC_LOGV_OBJC_MACRO(lvl, flg, ctx, frmt, avalist) \
39
- LOGV_OBJC_MACRO(YES, lvl, flg, ctx, frmt, avalist)
40
-
41
- #define SYNC_LOGV_C_MACRO(lvl, flg, ctx, frmt, avalist) \
42
- LOGV_C_MACRO( NO, lvl, flg, ctx, frmt, avalist)
43
-
44
- #define ASYNC_LOGV_C_MACRO(lvl, flg, ctx, frmt, avalist) \
45
- LOGV_C_MACRO(YES, lvl, flg, ctx, frmt, avalist)
46
-
47
-
48
-
49
- #define LOGV_MAYBE(async, lvl, flg, ctx, fnct, frmt, avalist) \
50
- do { if(lvl & flg) LOGV_MACRO(async, lvl, flg, ctx, nil, fnct, frmt, avalist); } while(0)
51
-
52
- #define LOGV_OBJC_MAYBE(async, lvl, flg, ctx, frmt, avalist) \
53
- LOGV_MAYBE(async, lvl, flg, ctx, sel_getName(_cmd), frmt, avalist)
54
-
55
- #define LOGV_C_MAYBE(async, lvl, flg, ctx, frmt, avalist) \
56
- LOGV_MAYBE(async, lvl, flg, ctx, __FUNCTION__, frmt, avalist)
57
-
58
- #define SYNC_LOGV_OBJC_MAYBE(lvl, flg, ctx, frmt, avalist) \
59
- LOGV_OBJC_MAYBE( NO, lvl, flg, ctx, frmt, avalist)
60
-
61
- #define ASYNC_LOGV_OBJC_MAYBE(lvl, flg, ctx, frmt, avalist) \
62
- LOGV_OBJC_MAYBE(YES, lvl, flg, ctx, frmt, avalist)
63
-
64
- #define SYNC_LOGV_C_MAYBE(lvl, flg, ctx, frmt, avalist) \
65
- LOGV_C_MAYBE( NO, lvl, flg, ctx, frmt, avalist)
66
-
67
- #define ASYNC_LOGV_C_MAYBE(lvl, flg, ctx, frmt, avalist) \
68
- LOGV_C_MAYBE(YES, lvl, flg, ctx, frmt, avalist)
69
-
70
-
71
-
72
- #define LOGV_OBJC_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, avalist) \
73
- LOGV_MACRO(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, avalist)
74
-
75
- #define LOGV_C_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, avalist) \
76
- LOGV_MACRO(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, avalist)
77
-
78
- #define LOGV_TAG_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, avalist) \
79
- do { if(lvl & flg) LOGV_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, avalist); } while(0)
80
-
81
- #define LOGV_OBJC_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, avalist) \
82
- LOGV_TAG_MAYBE(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, avalist)
83
-
84
- #define LOGV_C_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, avalist) \
85
- LOGV_TAG_MAYBE(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, avalist)
86
-
87
-
88
-
89
- #define DDLogvError(frmt, avalist) LOGV_OBJC_MAYBE(LOG_ASYNC_ERROR, ddLogLevel, LOG_FLAG_ERROR, 0, frmt, avalist)
90
- #define DDLogvWarn(frmt, avalist) LOGV_OBJC_MAYBE(LOG_ASYNC_WARN, ddLogLevel, LOG_FLAG_WARN, 0, frmt, avalist)
91
- #define DDLogvInfo(frmt, avalist) LOGV_OBJC_MAYBE(LOG_ASYNC_INFO, ddLogLevel, LOG_FLAG_INFO, 0, frmt, avalist)
92
- #define DDLogvVerbose(frmt, avalist) LOGV_OBJC_MAYBE(LOG_ASYNC_VERBOSE, ddLogLevel, LOG_FLAG_VERBOSE, 0, frmt, avalist)
93
-
94
- #define DDLogvCError(frmt, avalist) LOGV_C_MAYBE(LOG_ASYNC_ERROR, ddLogLevel, LOG_FLAG_ERROR, 0, frmt, avalist)
95
- #define DDLogvCWarn(frmt, avalist) LOGV_C_MAYBE(LOG_ASYNC_WARN, ddLogLevel, LOG_FLAG_WARN, 0, frmt, avalist)
96
- #define DDLogvCInfo(frmt, avalist) LOGV_C_MAYBE(LOG_ASYNC_INFO, ddLogLevel, LOG_FLAG_INFO, 0, frmt, avalist)
97
- #define DDLogvCVerbose(frmt, avalist) LOGV_C_MAYBE(LOG_ASYNC_VERBOSE, ddLogLevel, LOG_FLAG_VERBOSE, 0, frmt, avalist)
98
-
99
- #endif
@@ -1,634 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
-
3
- /**
4
- * Welcome to Cocoa Lumberjack!
5
- *
6
- * The project page has a wealth of documentation if you have any questions.
7
- * https://github.com/CocoaLumberjack/CocoaLumberjack
8
- *
9
- * If you're new to the project you may wish to read the "Getting Started" wiki.
10
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted
11
- *
12
- * Otherwise, here is a quick refresher.
13
- * There are three steps to using the macros:
14
- *
15
- * Step 1:
16
- * Import the header in your implementation file:
17
- *
18
- * #import "DDLog.h"
19
- *
20
- * Step 2:
21
- * Define your logging level in your implementation file:
22
- *
23
- * // Log levels: off, error, warn, info, verbose
24
- * static const int ddLogLevel = LOG_LEVEL_VERBOSE;
25
- *
26
- * Step 2 [3rd party frameworks]:
27
- *
28
- * Define your LOG_LEVEL_DEF to a different variable/function than ddLogLevel:
29
- *
30
- * // #undef LOG_LEVEL_DEF // Undefine first only if needed
31
- * #define LOG_LEVEL_DEF myLibLogLevel
32
- *
33
- * Define your logging level in your implementation file:
34
- *
35
- * // Log levels: off, error, warn, info, verbose
36
- * static const int myLibLogLevel = LOG_LEVEL_VERBOSE;
37
- *
38
- * Step 3:
39
- * Replace your NSLog statements with DDLog statements according to the severity of the message.
40
- *
41
- * NSLog(@"Fatal error, no dohickey found!"); -> DDLogError(@"Fatal error, no dohickey found!");
42
- *
43
- * DDLog works exactly the same as NSLog.
44
- * This means you can pass it multiple variables just like NSLog.
45
- **/
46
-
47
- #ifndef LOG_LEVEL_DEF
48
- #define LOG_LEVEL_DEF ddLogLevel
49
- #endif
50
-
51
- @class DDLogMessage;
52
-
53
- @protocol DDLogger;
54
- @protocol DDLogFormatter;
55
-
56
- /**
57
- * This is the single macro that all other macros below compile into.
58
- * This big multiline macro makes all the other macros easier to read.
59
- **/
60
-
61
- #define LOG_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, ...) \
62
- [DDLog log:isAsynchronous \
63
- level:lvl \
64
- flag:flg \
65
- context:ctx \
66
- file:__FILE__ \
67
- function:fnct \
68
- line:__LINE__ \
69
- tag:atag \
70
- format:(frmt), ##__VA_ARGS__]
71
-
72
- /**
73
- * Define the Objective-C and C versions of the macro.
74
- * These automatically inject the proper function name for either an objective-c method or c function.
75
- *
76
- * We also define shorthand versions for asynchronous and synchronous logging.
77
- **/
78
-
79
- #define LOG_OBJC_MACRO(async, lvl, flg, ctx, frmt, ...) \
80
- LOG_MACRO(async, lvl, flg, ctx, nil, sel_getName(_cmd), frmt, ##__VA_ARGS__)
81
-
82
- #define LOG_C_MACRO(async, lvl, flg, ctx, frmt, ...) \
83
- LOG_MACRO(async, lvl, flg, ctx, nil, __FUNCTION__, frmt, ##__VA_ARGS__)
84
-
85
- #define SYNC_LOG_OBJC_MACRO(lvl, flg, ctx, frmt, ...) \
86
- LOG_OBJC_MACRO( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)
87
-
88
- #define ASYNC_LOG_OBJC_MACRO(lvl, flg, ctx, frmt, ...) \
89
- LOG_OBJC_MACRO(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)
90
-
91
- #define SYNC_LOG_C_MACRO(lvl, flg, ctx, frmt, ...) \
92
- LOG_C_MACRO( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)
93
-
94
- #define ASYNC_LOG_C_MACRO(lvl, flg, ctx, frmt, ...) \
95
- LOG_C_MACRO(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)
96
-
97
- /**
98
- * Define version of the macro that only execute if the logLevel is above the threshold.
99
- * The compiled versions essentially look like this:
100
- *
101
- * if (logFlagForThisLogMsg & ddLogLevel) { execute log message }
102
- *
103
- * When LOG_LEVEL_DEF is defined as ddLogLevel.
104
- *
105
- * As shown further below, Lumberjack actually uses a bitmask as opposed to primitive log levels.
106
- * This allows for a great amount of flexibility and some pretty advanced fine grained logging techniques.
107
- *
108
- * Note that when compiler optimizations are enabled (as they are for your release builds),
109
- * the log messages above your logging threshold will automatically be compiled out.
110
- *
111
- * (If the compiler sees ddLogLevel declared as a constant, the compiler simply checks to see if the 'if' statement
112
- * would execute, and if not it strips it from the binary.)
113
- *
114
- * We also define shorthand versions for asynchronous and synchronous logging.
115
- **/
116
-
117
- #define LOG_MAYBE(async, lvl, flg, ctx, fnct, frmt, ...) \
118
- do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, nil, fnct, frmt, ##__VA_ARGS__); } while(0)
119
-
120
- #define LOG_OBJC_MAYBE(async, lvl, flg, ctx, frmt, ...) \
121
- LOG_MAYBE(async, lvl, flg, ctx, sel_getName(_cmd), frmt, ##__VA_ARGS__)
122
-
123
- #define LOG_C_MAYBE(async, lvl, flg, ctx, frmt, ...) \
124
- LOG_MAYBE(async, lvl, flg, ctx, __FUNCTION__, frmt, ##__VA_ARGS__)
125
-
126
- #define SYNC_LOG_OBJC_MAYBE(lvl, flg, ctx, frmt, ...) \
127
- LOG_OBJC_MAYBE( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)
128
-
129
- #define ASYNC_LOG_OBJC_MAYBE(lvl, flg, ctx, frmt, ...) \
130
- LOG_OBJC_MAYBE(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)
131
-
132
- #define SYNC_LOG_C_MAYBE(lvl, flg, ctx, frmt, ...) \
133
- LOG_C_MAYBE( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)
134
-
135
- #define ASYNC_LOG_C_MAYBE(lvl, flg, ctx, frmt, ...) \
136
- LOG_C_MAYBE(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)
137
-
138
- /**
139
- * Define versions of the macros that also accept tags.
140
- *
141
- * The DDLogMessage object includes a 'tag' ivar that may be used for a variety of purposes.
142
- * It may be used to pass custom information to loggers or formatters.
143
- * Or it may be used by 3rd party extensions to the framework.
144
- *
145
- * Thes macros just make it a little easier to extend logging functionality.
146
- **/
147
-
148
- #define LOG_OBJC_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, ...) \
149
- LOG_MACRO(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, ##__VA_ARGS__)
150
-
151
- #define LOG_C_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, ...) \
152
- LOG_MACRO(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, ##__VA_ARGS__)
153
-
154
- #define LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, ...) \
155
- do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, ##__VA_ARGS__); } while(0)
156
-
157
- #define LOG_OBJC_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, ...) \
158
- LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, ##__VA_ARGS__)
159
-
160
- #define LOG_C_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, ...) \
161
- LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, ##__VA_ARGS__)
162
-
163
- /**
164
- * Define the standard options.
165
- *
166
- * We default to only 4 levels because it makes it easier for beginners
167
- * to make the transition to a logging framework.
168
- *
169
- * More advanced users may choose to completely customize the levels (and level names) to suite their needs.
170
- * For more information on this see the "Custom Log Levels" page:
171
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomLogLevels
172
- *
173
- * Advanced users may also notice that we're using a bitmask.
174
- * This is to allow for custom fine grained logging:
175
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/FineGrainedLogging
176
- *
177
- * -- Flags --
178
- *
179
- * Typically you will use the LOG_LEVELS (see below), but the flags may be used directly in certain situations.
180
- * For example, say you have a lot of warning log messages, and you wanted to disable them.
181
- * However, you still needed to see your error and info log messages.
182
- * You could accomplish that with the following:
183
- *
184
- * static const int ddLogLevel = LOG_FLAG_ERROR | LOG_FLAG_INFO;
185
- *
186
- * When LOG_LEVEL_DEF is defined as ddLogLevel.
187
- *
188
- * Flags may also be consulted when writing custom log formatters,
189
- * as the DDLogMessage class captures the individual flag that caused the log message to fire.
190
- *
191
- * -- Levels --
192
- *
193
- * Log levels are simply the proper bitmask of the flags.
194
- *
195
- * -- Booleans --
196
- *
197
- * The booleans may be used when your logging code involves more than one line.
198
- * For example:
199
- *
200
- * if (LOG_VERBOSE) {
201
- * for (id sprocket in sprockets)
202
- * DDLogVerbose(@"sprocket: %@", [sprocket description])
203
- * }
204
- *
205
- * -- Async --
206
- *
207
- * Defines the default asynchronous options.
208
- * The default philosophy for asynchronous logging is very simple:
209
- *
210
- * Log messages with errors should be executed synchronously.
211
- * After all, an error just occurred. The application could be unstable.
212
- *
213
- * All other log messages, such as debug output, are executed asynchronously.
214
- * After all, if it wasn't an error, then it was just informational output,
215
- * or something the application was easily able to recover from.
216
- *
217
- * -- Changes --
218
- *
219
- * You are strongly discouraged from modifying this file.
220
- * If you do, you make it more difficult on yourself to merge future bug fixes and improvements from the project.
221
- * Instead, create your own MyLogging.h or ApplicationNameLogging.h or CompanyLogging.h
222
- *
223
- * For an example of customizing your logging experience, see the "Custom Log Levels" page:
224
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomLogLevels
225
- **/
226
-
227
- #define LOG_FLAG_ERROR (1 << 0) // 0...00001
228
- #define LOG_FLAG_WARN (1 << 1) // 0...00010
229
- #define LOG_FLAG_INFO (1 << 2) // 0...00100
230
- #define LOG_FLAG_DEBUG (1 << 3) // 0...01000
231
- #define LOG_FLAG_VERBOSE (1 << 4) // 0...10000
232
-
233
- #define LOG_LEVEL_OFF 0
234
- #define LOG_LEVEL_ERROR (LOG_FLAG_ERROR) // 0...00001
235
- #define LOG_LEVEL_WARN (LOG_FLAG_ERROR | LOG_FLAG_WARN) // 0...00011
236
- #define LOG_LEVEL_INFO (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO) // 0...00111
237
- #define LOG_LEVEL_DEBUG (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO | LOG_FLAG_DEBUG) // 0...01111
238
- #define LOG_LEVEL_VERBOSE (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO | LOG_FLAG_DEBUG | LOG_FLAG_VERBOSE) // 0...11111
239
-
240
- #define LOG_ERROR (LOG_LEVEL_DEF & LOG_FLAG_ERROR)
241
- #define LOG_WARN (LOG_LEVEL_DEF & LOG_FLAG_WARN)
242
- #define LOG_INFO (LOG_LEVEL_DEF & LOG_FLAG_INFO)
243
- #define LOG_DEBUG (LOG_LEVEL_DEF & LOG_FLAG_DEBUG)
244
- #define LOG_VERBOSE (LOG_LEVEL_DEF & LOG_FLAG_VERBOSE)
245
-
246
- #define LOG_ASYNC_ENABLED YES
247
-
248
- #define LOG_ASYNC_ERROR ( NO && LOG_ASYNC_ENABLED)
249
- #define LOG_ASYNC_WARN (YES && LOG_ASYNC_ENABLED)
250
- #define LOG_ASYNC_INFO (YES && LOG_ASYNC_ENABLED)
251
- #define LOG_ASYNC_DEBUG (YES && LOG_ASYNC_ENABLED)
252
- #define LOG_ASYNC_VERBOSE (YES && LOG_ASYNC_ENABLED)
253
-
254
- #define DDLogError(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_ERROR, LOG_LEVEL_DEF, LOG_FLAG_ERROR, 0, frmt, ##__VA_ARGS__)
255
- #define DDLogWarn(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_WARN, LOG_LEVEL_DEF, LOG_FLAG_WARN, 0, frmt, ##__VA_ARGS__)
256
- #define DDLogInfo(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_INFO, LOG_LEVEL_DEF, LOG_FLAG_INFO, 0, frmt, ##__VA_ARGS__)
257
- #define DDLogDebug(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_DEBUG, LOG_LEVEL_DEF, LOG_FLAG_DEBUG, 0, frmt, ##__VA_ARGS__)
258
- #define DDLogVerbose(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__)
259
-
260
- #define DDLogCError(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_ERROR, LOG_LEVEL_DEF, LOG_FLAG_ERROR, 0, frmt, ##__VA_ARGS__)
261
- #define DDLogCWarn(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_WARN, LOG_LEVEL_DEF, LOG_FLAG_WARN, 0, frmt, ##__VA_ARGS__)
262
- #define DDLogCInfo(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_INFO, LOG_LEVEL_DEF, LOG_FLAG_INFO, 0, frmt, ##__VA_ARGS__)
263
- #define DDLogCDebug(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_DEBUG, LOG_LEVEL_DEF, LOG_FLAG_DEBUG, 0, frmt, ##__VA_ARGS__)
264
- #define DDLogCVerbose(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__)
265
-
266
- /**
267
- * The THIS_FILE macro gives you an NSString of the file name.
268
- * For simplicity and clarity, the file name does not include the full path or file extension.
269
- *
270
- * For example: DDLogWarn(@"%@: Unable to find thingy", THIS_FILE) -> @"MyViewController: Unable to find thingy"
271
- **/
272
-
273
- NSString *DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy);
274
-
275
- #define THIS_FILE (DDExtractFileNameWithoutExtension(__FILE__, NO))
276
-
277
- /**
278
- * The THIS_METHOD macro gives you the name of the current objective-c method.
279
- *
280
- * For example: DDLogWarn(@"%@ - Requires non-nil strings", THIS_METHOD) -> @"setMake:model: requires non-nil strings"
281
- *
282
- * Note: This does NOT work in straight C functions (non objective-c).
283
- * Instead you should use the predefined __FUNCTION__ macro.
284
- **/
285
-
286
- #define THIS_METHOD NSStringFromSelector(_cmd)
287
-
288
-
289
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
290
- #pragma mark -
291
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
292
-
293
- @interface DDLog : NSObject
294
-
295
- /**
296
- * Provides access to the underlying logging queue.
297
- * This may be helpful to Logger classes for things like thread synchronization.
298
- **/
299
-
300
- + (dispatch_queue_t)loggingQueue;
301
-
302
- /**
303
- * Logging Primitive.
304
- *
305
- * This method is used by the macros above.
306
- * It is suggested you stick with the macros as they're easier to use.
307
- **/
308
-
309
- + (void)log:(BOOL)synchronous
310
- level:(int)level
311
- flag:(int)flag
312
- context:(int)context
313
- file:(const char *)file
314
- function:(const char *)function
315
- line:(int)line
316
- tag:(id)tag
317
- format:(NSString *)format, ... __attribute__ ((format (__NSString__, 9, 10)));
318
-
319
- /**
320
- * Logging Primitive.
321
- *
322
- * This method can be used if you have a prepared va_list.
323
- **/
324
-
325
- + (void)log:(BOOL)asynchronous
326
- level:(int)level
327
- flag:(int)flag
328
- context:(int)context
329
- file:(const char *)file
330
- function:(const char *)function
331
- line:(int)line
332
- tag:(id)tag
333
- format:(NSString *)format
334
- args:(va_list)argList;
335
-
336
-
337
- /**
338
- * Since logging can be asynchronous, there may be times when you want to flush the logs.
339
- * The framework invokes this automatically when the application quits.
340
- **/
341
-
342
- + (void)flushLog;
343
-
344
- /**
345
- * Loggers
346
- *
347
- * If you want your log statements to go somewhere,
348
- * you should create and add a logger.
349
- **/
350
-
351
- + (void)addLogger:(id <DDLogger>)logger; // adds the logger using maximum log level (LOG_LEVEL_VERBOSE)
352
-
353
- /**
354
- * Please use as logLevels the LOG_LEVEL_* macros
355
- *
356
- **/
357
- + (void)addLogger:(id <DDLogger>)logger withLogLevel:(int)logLevel;
358
-
359
- + (void)removeLogger:(id <DDLogger>)logger;
360
- + (void)removeAllLoggers;
361
-
362
- + (NSArray *)allLoggers;
363
-
364
- /**
365
- * Registered Dynamic Logging
366
- *
367
- * These methods allow you to obtain a list of classes that are using registered dynamic logging,
368
- * and also provides methods to get and set their log level during run time.
369
- **/
370
-
371
- + (NSArray *)registeredClasses;
372
- + (NSArray *)registeredClassNames;
373
-
374
- + (int)logLevelForClass:(Class)aClass;
375
- + (int)logLevelForClassWithName:(NSString *)aClassName;
376
-
377
- + (void)setLogLevel:(int)logLevel forClass:(Class)aClass;
378
- + (void)setLogLevel:(int)logLevel forClassWithName:(NSString *)aClassName;
379
-
380
- @end
381
-
382
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
383
- #pragma mark -
384
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
385
-
386
- @protocol DDLogger <NSObject>
387
- @required
388
-
389
- - (void)logMessage:(DDLogMessage *)logMessage;
390
-
391
- /**
392
- * Formatters may optionally be added to any logger.
393
- *
394
- * If no formatter is set, the logger simply logs the message as it is given in logMessage,
395
- * or it may use its own built in formatting style.
396
- **/
397
- - (id <DDLogFormatter>)logFormatter;
398
- - (void)setLogFormatter:(id <DDLogFormatter>)formatter;
399
-
400
- @optional
401
-
402
- /**
403
- * Since logging is asynchronous, adding and removing loggers is also asynchronous.
404
- * In other words, the loggers are added and removed at appropriate times with regards to log messages.
405
- *
406
- * - Loggers will not receive log messages that were executed prior to when they were added.
407
- * - Loggers will not receive log messages that were executed after they were removed.
408
- *
409
- * These methods are executed in the logging thread/queue.
410
- * This is the same thread/queue that will execute every logMessage: invocation.
411
- * Loggers may use these methods for thread synchronization or other setup/teardown tasks.
412
- **/
413
- - (void)didAddLogger;
414
- - (void)willRemoveLogger;
415
-
416
- /**
417
- * Some loggers may buffer IO for optimization purposes.
418
- * For example, a database logger may only save occasionaly as the disk IO is slow.
419
- * In such loggers, this method should be implemented to flush any pending IO.
420
- *
421
- * This allows invocations of DDLog's flushLog method to be propogated to loggers that need it.
422
- *
423
- * Note that DDLog's flushLog method is invoked automatically when the application quits,
424
- * and it may be also invoked manually by the developer prior to application crashes, or other such reasons.
425
- **/
426
- - (void)flush;
427
-
428
- /**
429
- * Each logger is executed concurrently with respect to the other loggers.
430
- * Thus, a dedicated dispatch queue is used for each logger.
431
- * Logger implementations may optionally choose to provide their own dispatch queue.
432
- **/
433
- - (dispatch_queue_t)loggerQueue;
434
-
435
- /**
436
- * If the logger implementation does not choose to provide its own queue,
437
- * one will automatically be created for it.
438
- * The created queue will receive its name from this method.
439
- * This may be helpful for debugging or profiling reasons.
440
- **/
441
- - (NSString *)loggerName;
442
-
443
- @end
444
-
445
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
446
- #pragma mark -
447
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
448
-
449
- @protocol DDLogFormatter <NSObject>
450
- @required
451
-
452
- /**
453
- * Formatters may optionally be added to any logger.
454
- * This allows for increased flexibility in the logging environment.
455
- * For example, log messages for log files may be formatted differently than log messages for the console.
456
- *
457
- * For more information about formatters, see the "Custom Formatters" page:
458
- * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters
459
- *
460
- * The formatter may also optionally filter the log message by returning nil,
461
- * in which case the logger will not log the message.
462
- **/
463
- - (NSString *)formatLogMessage:(DDLogMessage *)logMessage;
464
-
465
- @optional
466
-
467
- /**
468
- * A single formatter instance can be added to multiple loggers.
469
- * These methods provides hooks to notify the formatter of when it's added/removed.
470
- *
471
- * This is primarily for thread-safety.
472
- * If a formatter is explicitly not thread-safe, it may wish to throw an exception if added to multiple loggers.
473
- * Or if a formatter has potentially thread-unsafe code (e.g. NSDateFormatter),
474
- * it could possibly use these hooks to switch to thread-safe versions of the code.
475
- **/
476
- - (void)didAddToLogger:(id <DDLogger>)logger;
477
- - (void)willRemoveFromLogger:(id <DDLogger>)logger;
478
-
479
- @end
480
-
481
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
482
- #pragma mark -
483
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
484
-
485
- @protocol DDRegisteredDynamicLogging
486
-
487
- /**
488
- * Implement these methods to allow a file's log level to be managed from a central location.
489
- *
490
- * This is useful if you'd like to be able to change log levels for various parts
491
- * of your code from within the running application.
492
- *
493
- * Imagine pulling up the settings for your application,
494
- * and being able to configure the logging level on a per file basis.
495
- *
496
- * The implementation can be very straight-forward:
497
- *
498
- * + (int)ddLogLevel
499
- * {
500
- * return ddLogLevel;
501
- * }
502
- *
503
- * + (void)ddSetLogLevel:(int)logLevel
504
- * {
505
- * ddLogLevel = logLevel;
506
- * }
507
- **/
508
-
509
- + (int)ddLogLevel;
510
- + (void)ddSetLogLevel:(int)logLevel;
511
-
512
- @end
513
-
514
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
515
- #pragma mark -
516
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
517
-
518
- /**
519
- * The DDLogMessage class encapsulates information about the log message.
520
- * If you write custom loggers or formatters, you will be dealing with objects of this class.
521
- **/
522
-
523
- enum {
524
- DDLogMessageCopyFile = 1 << 0,
525
- DDLogMessageCopyFunction = 1 << 1
526
- };
527
- typedef int DDLogMessageOptions;
528
-
529
- @interface DDLogMessage : NSObject <NSCopying>
530
- {
531
-
532
- // The public variables below can be accessed directly (for speed).
533
- // For example: logMessage->logLevel
534
-
535
- @public
536
- int logLevel;
537
- int logFlag;
538
- int logContext;
539
- NSString *logMsg;
540
- NSDate *timestamp;
541
- char *file;
542
- char *function;
543
- int lineNumber;
544
- mach_port_t machThreadID;
545
- char *queueLabel;
546
- NSString *threadName;
547
-
548
- // For 3rd party extensions to the framework, where flags and contexts aren't enough.
549
- id tag;
550
-
551
- // For 3rd party extensions that manually create DDLogMessage instances.
552
- DDLogMessageOptions options;
553
- }
554
-
555
- /**
556
- * Standard init method for a log message object.
557
- * Used by the logging primitives. (And the macros use the logging primitives.)
558
- *
559
- * If you find need to manually create logMessage objects, there is one thing you should be aware of:
560
- *
561
- * If no flags are passed, the method expects the file and function parameters to be string literals.
562
- * That is, it expects the given strings to exist for the duration of the object's lifetime,
563
- * and it expects the given strings to be immutable.
564
- * In other words, it does not copy these strings, it simply points to them.
565
- * This is due to the fact that __FILE__ and __FUNCTION__ are usually used to specify these parameters,
566
- * so it makes sense to optimize and skip the unnecessary allocations.
567
- * However, if you need them to be copied you may use the options parameter to specify this.
568
- * Options is a bitmask which supports DDLogMessageCopyFile and DDLogMessageCopyFunction.
569
- **/
570
- - (instancetype)initWithLogMsg:(NSString *)logMsg
571
- level:(int)logLevel
572
- flag:(int)logFlag
573
- context:(int)logContext
574
- file:(const char *)file
575
- function:(const char *)function
576
- line:(int)line
577
- tag:(id)tag
578
- options:(DDLogMessageOptions)optionsMask;
579
-
580
- /**
581
- * Returns the threadID as it appears in NSLog.
582
- * That is, it is a hexadecimal value which is calculated from the machThreadID.
583
- **/
584
- - (NSString *)threadID;
585
-
586
- /**
587
- * Convenience property to get just the file name, as the file variable is generally the full file path.
588
- * This method does not include the file extension, which is generally unwanted for logging purposes.
589
- **/
590
- - (NSString *)fileName;
591
-
592
- /**
593
- * Returns the function variable in NSString form.
594
- **/
595
- - (NSString *)methodName;
596
-
597
- @end
598
-
599
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
600
- #pragma mark -
601
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
602
-
603
- /**
604
- * The DDLogger protocol specifies that an optional formatter can be added to a logger.
605
- * Most (but not all) loggers will want to support formatters.
606
- *
607
- * However, writting getters and setters in a thread safe manner,
608
- * while still maintaining maximum speed for the logging process, is a difficult task.
609
- *
610
- * To do it right, the implementation of the getter/setter has strict requiremenets:
611
- * - Must NOT require the logMessage method to acquire a lock.
612
- * - Must NOT require the logMessage method to access an atomic property (also a lock of sorts).
613
- *
614
- * To simplify things, an abstract logger is provided that implements the getter and setter.
615
- *
616
- * Logger implementations may simply extend this class,
617
- * and they can ACCESS THE FORMATTER VARIABLE DIRECTLY from within their logMessage method!
618
- **/
619
-
620
- @interface DDAbstractLogger : NSObject <DDLogger>
621
- {
622
- id <DDLogFormatter> formatter;
623
-
624
- dispatch_queue_t loggerQueue;
625
- }
626
-
627
- - (id <DDLogFormatter>)logFormatter;
628
- - (void)setLogFormatter:(id <DDLogFormatter>)formatter;
629
-
630
- // For thread-safety assertions
631
- - (BOOL)isOnGlobalLoggingQueue;
632
- - (BOOL)isOnInternalLoggerQueue;
633
-
634
- @end