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,37 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
-
3
- #import "YapDatabaseConnection.h"
4
-
5
- /**
6
- * When a connection is created via [database newConnection] is will be handed one of these objects.
7
- * Thus the connection will inherit its initial configuration via the defaults configured for the parent database.
8
- *
9
- * Of course, the connection may then override these default configuration values, and configure itself as needed.
10
- *
11
- * @see YapDatabase defaultObjectCacheEnabled
12
- * @see YapDatabase defaultObjectCacheLimit
13
- *
14
- * @see YapDatabase defaultMetadataCacheEnabled
15
- * @see YapDatabase defaultMetadataCacheLimit
16
- *
17
- * @see YapDatabase defaultObjectPolicy
18
- * @see YapDatabase defaultMetadataPolicy
19
- *
20
- * @see YapDatabase defaultAutoFlushMemoryLevel
21
- **/
22
- @interface YapDatabaseDefaults : NSObject <NSCopying>
23
-
24
- @property (nonatomic, assign, readwrite) BOOL objectCacheEnabled;
25
- @property (nonatomic, assign, readwrite) NSUInteger objectCacheLimit;
26
-
27
- @property (nonatomic, assign, readwrite) BOOL metadataCacheEnabled;
28
- @property (nonatomic, assign, readwrite) NSUInteger metadataCacheLimit;
29
-
30
- @property (nonatomic, assign, readwrite) YapDatabasePolicy objectPolicy;
31
- @property (nonatomic, assign, readwrite) YapDatabasePolicy metadataPolicy;
32
-
33
- #if TARGET_OS_IPHONE
34
- @property (nonatomic, assign, readwrite) YapDatabaseConnectionFlushMemoryFlags autoFlushMemoryFlags;
35
- #endif
36
-
37
- @end
@@ -1,15 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
-
3
- #import "YapDatabaseExtensionConnection.h"
4
- #import "YapDatabaseExtensionTransaction.h"
5
-
6
-
7
- @interface YapDatabaseExtension : NSObject
8
-
9
- /**
10
- * After an extension has been successfully registered with a database,
11
- * the registeredName property will be set by the database.
12
- **/
13
- @property (atomic, copy, readonly) NSString *registeredName;
14
-
15
- @end
@@ -1,11 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
-
3
-
4
- @interface YapDatabaseExtensionConnection : NSObject
5
-
6
- /**
7
- * This class is abstract and has no public API.
8
- * See concrete implementations such as YapDatabaseViewConnection.
9
- **/
10
-
11
- @end
@@ -1,444 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
-
3
- #import "YapDatabaseExtension.h"
4
- #import "YapDatabaseExtensionConnection.h"
5
- #import "YapDatabaseExtensionTransaction.h"
6
-
7
- #import "YapDatabase.h"
8
- #import "YapDatabaseConnection.h"
9
- #import "YapDatabaseTransaction.h"
10
- #import "YapCollectionKey.h"
11
-
12
- #import "sqlite3.h"
13
-
14
-
15
- @interface YapDatabaseExtension ()
16
-
17
- /**
18
- * Subclasses MUST implement this method.
19
- *
20
- * This method is used when unregistering an extension in order to drop the related tables.
21
- **/
22
- + (void)dropTablesForRegisteredName:(NSString *)registeredName
23
- withTransaction:(YapDatabaseReadWriteTransaction *)transaction;
24
-
25
- /**
26
- * Subclasses may OPTIONALLY implement this method.
27
- *
28
- * If an extension class is renamed this method should be used to properly transition.
29
- * The extension architecture will verify that a re-registered extension is using the same
30
- * extension class that it was previously using. If the class names differ, then the extension architecture
31
- * will automatically try to unregister the previous extension using the previous extension class.
32
- *
33
- * That is, it will attempt to invoke [PreviousExtensionClass dropTablesForRegisteredName: withTransaction:].
34
- * Of course this won't work because the PreviousExtensionClass no longer exists.
35
- * So the end result is that you will likely see the database spit out a warning like this:
36
- *
37
- * - Dropping tables for previously registered extension with name(order),
38
- * class(YapDatabaseQuack) for new class(YapDatabaseDuck)
39
- * - Unable to drop tables for previously registered extension with name(order),
40
- * unknown class(YapDatabaseQuack)
41
- *
42
- * This method helps the extension architecture to understand what's happening, and it won't spit out any warnings.
43
- *
44
- * The default implementation returns nil.
45
- **/
46
- + (NSArray *)previousClassNames;
47
-
48
- /**
49
- * After an extension has been successfully registered with a database,
50
- * the registeredName property will be set by the database.
51
- *
52
- * This property is set by YapDatabase after a successful registration.
53
- * It should be considered read-only once set.
54
- **/
55
- @property (atomic, copy, readwrite) NSString *registeredName;
56
-
57
- /**
58
- * Subclasses MUST implement this method.
59
- * This method is called during the view registration process to enusre the extension supports the database type.
60
- * The registered extensions are passed too, in case dependencies need to be checked.
61
- *
62
- * Return YES if the class/instance supports the database configuration.
63
- **/
64
- - (BOOL)supportsDatabase:(YapDatabase *)database withRegisteredExtensions:(NSDictionary *)registeredExtensions;
65
-
66
- /**
67
- * Subclasses MUST implement this method IF they have dependencies.
68
- * This method is called during the view registration simply to record the needed dependencies.
69
- * If any of the dependencies are unregistered, this extension will automatically be unregistered.
70
- *
71
- * Return a set of NSString objects, representing the name(s) of registered extensions
72
- * that this extension is dependent upon.
73
- *
74
- * If there are no dependencies, return nil (or an empty set).
75
- * The default implementation returns nil.
76
- **/
77
- - (NSSet *)dependencies;
78
-
79
- /**
80
- * Subclasses MUST implement this method.
81
- * Returns a proper instance of the YapDatabaseExtensionConnection subclass.
82
- **/
83
- - (YapDatabaseExtensionConnection *)newConnection:(YapDatabaseConnection *)databaseConnection;
84
-
85
- @end
86
-
87
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
88
- #pragma mark -
89
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
90
-
91
- @interface YapDatabaseExtensionConnection () {
92
-
93
- // You MUST store a strong reference to the parent.
94
- // You MUST store an unretained reference to the corresponding database connection.
95
- //
96
- // The architecture of the database, throughout the database classes and extensions,
97
- // is such that connections retain their parents, which are the base classes.
98
- // This is needed so the base classes cannot disappear until their connections have all finished.
99
- // Otherwise a connection might get orphaned, and a crash would ensue.
100
- //
101
- // Your custom extension implementation should be similar to the example below, but typed according to your needs.
102
-
103
- /* Example from YapDatabaseViewConnection
104
-
105
- @public
106
- __strong YapDatabaseView *view;
107
- __unsafe_unretained YapDatabaseConnection *databaseConnection;
108
-
109
- */
110
- }
111
-
112
- /**
113
- * Subclasses MUST implement this method.
114
- * Returns a reference to the parent (base class).
115
- *
116
- * This method is used by various general utility classes in order to
117
- * walk-the-chain: extension <-> extConnection <-> extTransaction.
118
- *
119
- * For example:
120
- * Given an extTransaction, the utility method can walk up to the base extension class, and fetch the registeredName.
121
- **/
122
- - (YapDatabaseExtension *)extension;
123
-
124
- /**
125
- * Subclasses MUST implement these methods.
126
- * They are to create and return a proper instance of the YapDatabaseExtensionTransaction subclass.
127
- *
128
- * They may optionally use different subclasses for read-only vs read-write transactions.
129
- * Alternatively they can just store an ivar to determine the type of the transaction in order to protect as needed.
130
- **/
131
- - (id)newReadTransaction:(YapDatabaseReadTransaction *)databaseTransaction;
132
- - (id)newReadWriteTransaction:(YapDatabaseReadWriteTransaction *)databaseTransaction;
133
-
134
- /**
135
- * Subclasses MUST implement this method.
136
- *
137
- * This method will be invoked in order to flush memory.
138
- * Subclasses are encouraged to do something similar to the following:
139
- *
140
- * if (flags & YapDatabaseConnectionFlushMemoryFlags_Caches)
141
- * {
142
- * // Dump all caches
143
- * }
144
- *
145
- * if (flags & YapDatabaseConnectionFlushMemoryFlags_Statements)
146
- * {
147
- * // Dump all pre-compiled statements
148
- *
149
- * sqlite_finalize_null(&myStatement);
150
- * }
151
- **/
152
- - (void)_flushMemoryWithFlags:(YapDatabaseConnectionFlushMemoryFlags)flags;
153
-
154
- /**
155
- * Subclasses MUST implement this method.
156
- * This method is only called if within a readwrite transaction.
157
- *
158
- * This method is invoked in order to get the internal and external changesets.
159
- * The internal changeset will be passed to sibling connections via processChangeset:.
160
- * The external changeset will be embedded within YapDatabaseModifiedNotification.
161
- *
162
- * This is one of the primary methods within the architecture to keep multiple connections up-to-date
163
- * as they move from one snapshot to the next. It is the responsibility of this method to provide
164
- * all the information necessary for other connections to properly update their state,
165
- * as well as provide the ability to extract information from YapDatabaseModifiedNotification's.
166
- *
167
- * The internal changeset will be passed directly to other connections.
168
- * It should contain any information necessary to ensure that other connections can update their state
169
- * to reflect the changes that were made during this transaction.
170
- *
171
- * The external changeset will be embedded within the YapDatabaseModifiedNotification.
172
- * Thus, it can be used to provide support for things such as querying to see if something changed,
173
- * or generating information necessary for UI update animations.
174
- *
175
- * If needed, "return" a internal changeset to be passed to other connections.
176
- * If not needed, you can "return" a nil internal changeset.
177
- *
178
- * If needed, "return" an external changeset to be embedded within YapDatabaseModifiedNotification.
179
- *
180
- * If any changes to the database file were made made during this transaction,
181
- * the hasDiskChangesPtr should be set to YES.
182
- *
183
- * For the most part, extensions update themselves in relation to changes within the main database table.
184
- * However, sometimes extensions may update the database file independently. For example, the FullTextSearch extension
185
- * has a method that optimizes the search tables by merging a bunch of different internal b-trees.
186
- * If an extension makes changes to the database file outside the context of the normal changes to the main database
187
- * table (such as the optimize command), then it MUST be sure to set the hasDiskChangesPtr to YES.
188
- * This is because the internal architecture has optimizations if no disk changes occurred.
189
- **/
190
- - (void)getInternalChangeset:(NSMutableDictionary **)internalPtr
191
- externalChangeset:(NSMutableDictionary **)externalPtr
192
- hasDiskChanges:(BOOL *)hasDiskChangesPtr;
193
-
194
- /**
195
- * Subclasses MUST implement this method.
196
- *
197
- * This method processes an internal changeset from another connection.
198
- * The internal changeset was generated from getInternalChangeset:externalChangeset:: on a sibling connection.
199
- *
200
- * This is one of the primary methods within the architecture to keep multiple connections up-to-date
201
- * as they move from one snapshot to the next. It is the responsibility of this method to process
202
- * the changeset to ensure the connection's state is properly updated.
203
- **/
204
- - (void)processChangeset:(NSDictionary *)changeset;
205
-
206
- @end
207
-
208
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
209
- #pragma mark -
210
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
211
-
212
- /**
213
- * An extension transaction is where a majority of the action happens.
214
- * Subclasses will list the majority of their public API within the transaction.
215
- *
216
- * [databaseConnection readWithBlock:^(YapDatabaseReadTransaction *transaction){
217
- *
218
- * object = [[transaction ext:@"view"] objectAtIndex:index inGroup:@"sales"];
219
- * // ^^^^^^^^^^^^^^^^^^^^^^^
220
- * // ^ Returns a YapDatabaseExtensionTransaction subclass instance.
221
- * }];
222
- *
223
- * An extension transaction has a reference to the database transction (and therefore to sqlite),
224
- * as well as a reference to its parent extension connection. It is the same in architecture as
225
- * database connections and transactions. That is, all access (read-only or read-write) goes
226
- * through a transaction. Further, each connection only has a single transaction at a time.
227
- * Thus transactions are optimized by storing a majority of their state within their respective connection.
228
- *
229
- * An extension transaction is created on-demand (or as needed) from within a database transaction.
230
- *
231
- * During a read-only transaction:
232
- * - If the extension is not requested, then it is not created.
233
- * - If the extension is requested, it is created once per transaction.
234
- * - Additional requests for the same extension return the existing instance.
235
- *
236
- * During a read-write transaction:
237
- * - If a modification to the database is initiated,
238
- * every registered extension has an associated transaction created in order to handle the associated hook calls.
239
- * - If the extension is requested, it is created once per transaction.
240
- * - Additional requests for the same extension return the existing instance.
241
- *
242
- * The extension transaction is only valid from within the database transaction.
243
- **/
244
- @interface YapDatabaseExtensionTransaction () {
245
-
246
- // You should store an unretained reference to the parent,
247
- // and an unretained reference to the corresponding database transaction.
248
- //
249
- // Yours should be similar to the example below, but typed according to your needs.
250
-
251
- /* Example from YapDatabaseViewTransaction
252
-
253
- @private
254
- __unsafe_unretained YapDatabaseViewConnection *viewConnection;
255
- __unsafe_unretained YapDatabaseTransaction *databaseTransaction;
256
-
257
- */
258
- }
259
-
260
- /**
261
- * Subclasses MUST implement this method.
262
- *
263
- * This method is called during the registration process.
264
- * Subclasses should perform any tasks needed in order to setup the extension for use by other connections.
265
- *
266
- * This includes creating any necessary tables,
267
- * as well as possibly populating the tables by enumerating over the existing rows in the database.
268
- *
269
- * The method should check to see if it has already been created.
270
- * That is, is this a re-registration from a subsequent app launch,
271
- * or is this the first time the extension has been registered under this name?
272
- *
273
- * The recommended way of accomplishing this is via the yap2 table (which was designed for this purpose).
274
- * There are various convenience methods that allow you store various settings about your extension in this table.
275
- * See 'intValueForExtensionKey:' and other related methods.
276
- *
277
- * Note: This method is invoked on a special readWriteTransaction that is created internally
278
- * within YapDatabase for the sole purpose of registering and unregistering extensions.
279
- * So this method need not setup itself for regular use.
280
- * It is designed only to do the prep work of creating the extension dependencies (such as tables)
281
- * so that regular instances (possibly read-only) can operate normally.
282
- *
283
- * See YapDatabaseViewTransaction for a reference implementation.
284
- *
285
- * Return YES if completed successfully, or if already created.
286
- * Return NO if some kind of error occured.
287
- **/
288
- - (BOOL)createIfNeeded;
289
-
290
- /**
291
- * Subclasses MUST implement this method.
292
- *
293
- * This method is invoked in order to prepare an extension transaction for use.
294
- * Remember, transactions are short lived instances.
295
- * So an extension transaction should store the vast majority of its state information within the extension connection.
296
- * Thus an extension transaction instance should generally only need to prepare itself once. (*)
297
- * It should store preparation info in the connection.
298
- * And future invocations of this method will see that the connection has all the prepared state it needs,
299
- * and then this method will return immediately.
300
- *
301
- * (*) an exception to this rule may occur if the user aborts a read-write transaction (via rollback),
302
- * and the extension connection must dump all its prepared state.
303
- *
304
- * Changes that occur on other connections should get incorporated via the changeset architecture
305
- * from within the extension connection subclass.
306
- *
307
- * This method may be invoked on a read-only OR read-write transaction.
308
- *
309
- * Return YES if completed successfully, or if already prepared.
310
- * Return NO if some kind of error occured.
311
- **/
312
- - (BOOL)prepareIfNeeded;
313
-
314
- /**
315
- * Subclasses may OPTIONALLY implement this method.
316
- * This method is only called if within a readwrite transaction.
317
- *
318
- * Subclasses should ONLY implement this method if they need to make changes to the 'database' table.
319
- * That is, the main collection/key/value table that directly stores the user's objects.
320
- *
321
- * Return NO if the extension does not directly modify the main database table.
322
- * Return YES if the extension does modify the main database table,
323
- * regardless of whether it made changes during this invocation.
324
- *
325
- * This method may be invoked several times in a row.
326
- **/
327
- - (BOOL)flushPendingChangesToMainDatabaseTable;
328
-
329
- /**
330
- * Subclasses may OPTIONALLY implement this method.
331
- * This method is only called if within a readwrite transaction.
332
- *
333
- * Subclasses may implement it to perform any "cleanup" before the changeset is requested.
334
- * Remember, the changeset is requested before the commitTransaction method is invoked.
335
- **/
336
- - (void)prepareChangeset;
337
-
338
- /**
339
- * Subclasses MUST implement this method.
340
- * This method is only called if within a readwrite transaction.
341
- **/
342
- - (void)commitTransaction;
343
-
344
- /**
345
- * Subclasses MUST implement this method.
346
- * This method is only called if within a readwrite transaction.
347
- **/
348
- - (void)rollbackTransaction;
349
-
350
- /**
351
- * Subclasses MUST implement these methods.
352
- * They are needed by various utility methods.
353
- **/
354
- - (YapDatabaseReadTransaction *)databaseTransaction;
355
- - (YapDatabaseExtensionConnection *)extensionConnection;
356
-
357
- /**
358
- * The following method are implemented by YapDatabaseExtensionTransaction.
359
- *
360
- * They are convenience methods for getting and setting persistent configuration values for the extension.
361
- * The persistent values are stored in the yap2 table, which is specifically designed for this use.
362
- *
363
- * The yap2 table is structured like this:
364
- *
365
- * CREATE TABLE IF NOT EXISTS "yap2" (
366
- * "extension" CHAR NOT NULL,
367
- * "key" CHAR NOT NULL,
368
- * "data" BLOB,
369
- * PRIMARY KEY ("extension", "key")
370
- * );
371
- *
372
- * You pass the "key" and the "data" (which can be typed however you want it to be such as int, string, etc).
373
- * The "extension" value is automatically set to the registeredName.
374
- *
375
- * Usage example:
376
- *
377
- * The View extension stores a "version" which is given to it during the init method by the user.
378
- * If the "version" changes, this signifies that the user has changed something about the view,
379
- * such as the sortingBlock or groupingBlock. The view then knows to flush its tables and re-populate them.
380
- * It stores the "version" in the yap2 table via the methods below.
381
- *
382
- * When an extension is unregistered, either manually or automatically (if orphaned),
383
- * then the database system automatically deletes all values from the yap2 table where extension == registeredName.
384
- **/
385
-
386
- - (BOOL)getBoolValue:(BOOL *)valuePtr forExtensionKey:(NSString *)key;
387
- - (BOOL)boolValueForExtensionKey:(NSString *)key;
388
- - (void)setBoolValue:(BOOL)value forExtensionKey:(NSString *)key;
389
-
390
- - (BOOL)getIntValue:(int *)valuePtr forExtensionKey:(NSString *)key;
391
- - (int)intValueForExtensionKey:(NSString *)key;
392
- - (void)setIntValue:(int)value forExtensionKey:(NSString *)key;
393
-
394
- - (BOOL)getDoubleValue:(double *)valuePtr forExtensionKey:(NSString *)key;
395
- - (double)doubleValueForExtensionKey:(NSString *)key;
396
- - (void)setDoubleValue:(double)value forExtensionKey:(NSString *)key;
397
-
398
- - (NSString *)stringValueForExtensionKey:(NSString *)key;
399
- - (void)setStringValue:(NSString *)value forExtensionKey:(NSString *)key;
400
-
401
- - (NSData *)dataValueForExtensionKey:(NSString *)key;
402
- - (void)setDataValue:(NSData *)value forExtensionKey:(NSString *)key;
403
-
404
- - (void)removeValueForExtensionKey:(NSString *)key;
405
-
406
- @end
407
-
408
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
409
- #pragma mark -
410
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
411
-
412
- /**
413
- * The YapDatabaseExtensionTransaction subclass MUST implement the methods in this protocol.
414
- **/
415
- @protocol YapDatabaseExtensionTransaction_Hooks
416
- @required
417
-
418
- - (void)handleInsertObject:(id)object
419
- forCollectionKey:(YapCollectionKey *)collectionKey
420
- withMetadata:(id)metadata
421
- rowid:(int64_t)rowid;
422
-
423
- - (void)handleUpdateObject:(id)object
424
- forCollectionKey:(YapCollectionKey *)collectionKey
425
- withMetadata:(id)metadata
426
- rowid:(int64_t)rowid;
427
-
428
- - (void)handleReplaceObject:(id)object
429
- forCollectionKey:(YapCollectionKey *)collectionKey
430
- withRowid:(int64_t)rowid;
431
-
432
- - (void)handleReplaceMetadata:(id)metadata
433
- forCollectionKey:(YapCollectionKey *)collectionKey
434
- withRowid:(int64_t)rowid;
435
-
436
- - (void)handleTouchObjectForCollectionKey:(YapCollectionKey *)collectionKey withRowid:(int64_t)rowid;
437
- - (void)handleTouchMetadataForCollectionKey:(YapCollectionKey *)collectionKey withRowid:(int64_t)rowid;
438
-
439
- - (void)handleRemoveObjectForCollectionKey:(YapCollectionKey *)collectionKey withRowid:(int64_t)rowid;
440
- - (void)handleRemoveObjectsForKeys:(NSArray *)keys inCollection:(NSString *)collection withRowids:(NSArray *)rowids;
441
-
442
- - (void)handleRemoveAllObjectsInAllCollections;
443
-
444
- @end