motion-yapper 0.0.1

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 (348) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +5 -0
  5. data/Gemfile.lock +63 -0
  6. data/README.md +16 -0
  7. data/Rakefile +20 -0
  8. data/app/app_delegate.rb +5 -0
  9. data/lib/yapper.rb +30 -0
  10. data/lib/yapper/attachment.rb +48 -0
  11. data/lib/yapper/bson.rb +20 -0
  12. data/lib/yapper/config.rb +18 -0
  13. data/lib/yapper/db.rb +151 -0
  14. data/lib/yapper/document.rb +54 -0
  15. data/lib/yapper/document/attachment.rb +26 -0
  16. data/lib/yapper/document/callbacks.rb +86 -0
  17. data/lib/yapper/document/persistance.rb +171 -0
  18. data/lib/yapper/document/relation.rb +84 -0
  19. data/lib/yapper/document/selection.rb +100 -0
  20. data/lib/yapper/extensions.rb +80 -0
  21. data/lib/yapper/log.rb +5 -0
  22. data/lib/yapper/sync.rb +134 -0
  23. data/lib/yapper/sync/data.rb +12 -0
  24. data/lib/yapper/sync/event.rb +194 -0
  25. data/lib/yapper/sync/queue.rb +164 -0
  26. data/lib/yapper/timestamps.rb +16 -0
  27. data/lib/yapper/version.rb +3 -0
  28. data/lib/yapper/yapper.rb +2 -0
  29. data/spec/helpers/time_helper.rb +3 -0
  30. data/spec/integration/all_spec.rb +40 -0
  31. data/spec/integration/callback_spec.rb +87 -0
  32. data/spec/integration/db_spec.rb +40 -0
  33. data/spec/integration/find_spec.rb +51 -0
  34. data/spec/integration/persistance_spec.rb +118 -0
  35. data/spec/integration/relation_spec.rb +174 -0
  36. data/spec/integration/sync_spec.rb +42 -0
  37. data/spec/integration/timestamps_spec.rb +34 -0
  38. data/spec/integration/types_spec.rb +23 -0
  39. data/spec/integration/when_spec.rb +29 -0
  40. data/spec/integration/where_spec.rb +132 -0
  41. data/vendor/Podfile.lock +24 -0
  42. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.h +641 -0
  43. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.m +1396 -0
  44. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h +133 -0
  45. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m +327 -0
  46. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.h +113 -0
  47. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.m +321 -0
  48. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.h +71 -0
  49. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.m +150 -0
  50. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h +75 -0
  51. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m +157 -0
  52. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworking.h +43 -0
  53. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.h +68 -0
  54. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.m +143 -0
  55. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h +370 -0
  56. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m +848 -0
  57. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.h +89 -0
  58. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.m +167 -0
  59. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.h +78 -0
  60. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.m +191 -0
  61. data/vendor/Pods/AFNetworking/LICENSE +19 -0
  62. data/vendor/Pods/AFNetworking/README.md +208 -0
  63. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPClient.h +641 -0
  64. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPRequestOperation.h +133 -0
  65. data/vendor/Pods/BuildHeaders/AFNetworking/AFImageRequestOperation.h +113 -0
  66. data/vendor/Pods/BuildHeaders/AFNetworking/AFJSONRequestOperation.h +71 -0
  67. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworkActivityIndicatorManager.h +75 -0
  68. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworking.h +43 -0
  69. data/vendor/Pods/BuildHeaders/AFNetworking/AFPropertyListRequestOperation.h +68 -0
  70. data/vendor/Pods/BuildHeaders/AFNetworking/AFURLConnectionOperation.h +370 -0
  71. data/vendor/Pods/BuildHeaders/AFNetworking/AFXMLRequestOperation.h +89 -0
  72. data/vendor/Pods/BuildHeaders/AFNetworking/UIImageView+AFNetworking.h +78 -0
  73. data/vendor/Pods/BuildHeaders/CocoaLumberjack/ContextFilterLogFormatter.h +65 -0
  74. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDASLLogger.h +41 -0
  75. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  76. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +334 -0
  77. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +601 -0
  78. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +167 -0
  79. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DispatchQueueLogFormatter.h +116 -0
  80. data/vendor/Pods/BuildHeaders/NSData+MD5Digest/NSData+MD5Digest.h +18 -0
  81. data/vendor/Pods/BuildHeaders/Reachability/Reachability.h +109 -0
  82. data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +90 -0
  83. data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +20 -0
  84. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +547 -0
  85. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +447 -0
  86. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnectionState.h +29 -0
  87. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +37 -0
  88. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtension.h +15 -0
  89. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionConnection.h +11 -0
  90. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +440 -0
  91. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionTransaction.h +11 -0
  92. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +108 -0
  93. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewConnection.h +12 -0
  94. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +19 -0
  95. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +39 -0
  96. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearch.h +89 -0
  97. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchConnection.h +32 -0
  98. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +69 -0
  99. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +79 -0
  100. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchTransaction.h +68 -0
  101. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseLogging.h +158 -0
  102. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseManager.h +17 -0
  103. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +424 -0
  104. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseQuery.h +42 -0
  105. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +100 -0
  106. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexConnection.h +33 -0
  107. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +73 -0
  108. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetup.h +33 -0
  109. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +58 -0
  110. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseStatement.h +13 -0
  111. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseString.h +121 -0
  112. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +541 -0
  113. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +186 -0
  114. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +272 -0
  115. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChangePrivate.h +94 -0
  116. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +115 -0
  117. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +825 -0
  118. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappingsPrivate.h +72 -0
  119. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +56 -0
  120. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPage.h +36 -0
  121. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPageMetadata.h +27 -0
  122. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +153 -0
  123. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptions.h +330 -0
  124. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +17 -0
  125. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +447 -0
  126. data/vendor/Pods/BuildHeaders/YapDatabase/YapMemoryTable.h +74 -0
  127. data/vendor/Pods/BuildHeaders/YapDatabase/YapNull.h +17 -0
  128. data/vendor/Pods/BuildHeaders/YapDatabase/YapSet.h +41 -0
  129. data/vendor/Pods/BuildHeaders/YapDatabase/YapTouch.h +15 -0
  130. data/vendor/Pods/CocoaLumberjack/LICENSE.txt +18 -0
  131. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +41 -0
  132. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +99 -0
  133. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +102 -0
  134. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +727 -0
  135. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +334 -0
  136. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +1353 -0
  137. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +601 -0
  138. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +1083 -0
  139. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +167 -0
  140. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +1479 -0
  141. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.h +65 -0
  142. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.m +191 -0
  143. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.h +116 -0
  144. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.m +251 -0
  145. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +7 -0
  146. data/vendor/Pods/CocoaLumberjack/README.markdown +37 -0
  147. data/vendor/Pods/Headers/AFNetworking/AFHTTPClient.h +641 -0
  148. data/vendor/Pods/Headers/AFNetworking/AFHTTPRequestOperation.h +133 -0
  149. data/vendor/Pods/Headers/AFNetworking/AFImageRequestOperation.h +113 -0
  150. data/vendor/Pods/Headers/AFNetworking/AFJSONRequestOperation.h +71 -0
  151. data/vendor/Pods/Headers/AFNetworking/AFNetworkActivityIndicatorManager.h +75 -0
  152. data/vendor/Pods/Headers/AFNetworking/AFNetworking.h +43 -0
  153. data/vendor/Pods/Headers/AFNetworking/AFPropertyListRequestOperation.h +68 -0
  154. data/vendor/Pods/Headers/AFNetworking/AFURLConnectionOperation.h +370 -0
  155. data/vendor/Pods/Headers/AFNetworking/AFXMLRequestOperation.h +89 -0
  156. data/vendor/Pods/Headers/AFNetworking/UIImageView+AFNetworking.h +78 -0
  157. data/vendor/Pods/Headers/CocoaLumberjack/ContextFilterLogFormatter.h +65 -0
  158. data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +41 -0
  159. data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  160. data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +334 -0
  161. data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +601 -0
  162. data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +167 -0
  163. data/vendor/Pods/Headers/CocoaLumberjack/DispatchQueueLogFormatter.h +116 -0
  164. data/vendor/Pods/Headers/NSData+MD5Digest/NSData+MD5Digest.h +18 -0
  165. data/vendor/Pods/Headers/Reachability/Reachability.h +109 -0
  166. data/vendor/Pods/Headers/YapDatabase/YapCache.h +90 -0
  167. data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +20 -0
  168. data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +547 -0
  169. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +447 -0
  170. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnectionState.h +29 -0
  171. data/vendor/Pods/Headers/YapDatabase/YapDatabaseDefaults.h +37 -0
  172. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtension.h +15 -0
  173. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionConnection.h +11 -0
  174. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionPrivate.h +440 -0
  175. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionTransaction.h +11 -0
  176. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +108 -0
  177. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewConnection.h +12 -0
  178. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewPrivate.h +19 -0
  179. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +39 -0
  180. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearch.h +89 -0
  181. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchConnection.h +32 -0
  182. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchPrivate.h +69 -0
  183. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +79 -0
  184. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchTransaction.h +68 -0
  185. data/vendor/Pods/Headers/YapDatabase/YapDatabaseLogging.h +158 -0
  186. data/vendor/Pods/Headers/YapDatabase/YapDatabaseManager.h +17 -0
  187. data/vendor/Pods/Headers/YapDatabase/YapDatabasePrivate.h +424 -0
  188. data/vendor/Pods/Headers/YapDatabase/YapDatabaseQuery.h +42 -0
  189. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +100 -0
  190. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexConnection.h +33 -0
  191. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +73 -0
  192. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexSetup.h +33 -0
  193. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +58 -0
  194. data/vendor/Pods/Headers/YapDatabase/YapDatabaseStatement.h +13 -0
  195. data/vendor/Pods/Headers/YapDatabase/YapDatabaseString.h +121 -0
  196. data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +541 -0
  197. data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +186 -0
  198. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +272 -0
  199. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChangePrivate.h +94 -0
  200. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +115 -0
  201. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +825 -0
  202. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappingsPrivate.h +72 -0
  203. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +56 -0
  204. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPage.h +36 -0
  205. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPageMetadata.h +27 -0
  206. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPrivate.h +153 -0
  207. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptions.h +330 -0
  208. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +17 -0
  209. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +447 -0
  210. data/vendor/Pods/Headers/YapDatabase/YapMemoryTable.h +74 -0
  211. data/vendor/Pods/Headers/YapDatabase/YapNull.h +17 -0
  212. data/vendor/Pods/Headers/YapDatabase/YapSet.h +41 -0
  213. data/vendor/Pods/Headers/YapDatabase/YapTouch.h +15 -0
  214. data/vendor/Pods/Headers/____Pods-AFNetworking-prefix.h +17 -0
  215. data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +5 -0
  216. data/vendor/Pods/Headers/____Pods-NSData+MD5Digest-prefix.h +5 -0
  217. data/vendor/Pods/Headers/____Pods-Reachability-prefix.h +5 -0
  218. data/vendor/Pods/Headers/____Pods-YapDatabase-prefix.h +5 -0
  219. data/vendor/Pods/Headers/____Pods-environment.h +38 -0
  220. data/vendor/Pods/Manifest.lock +24 -0
  221. data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.h +18 -0
  222. data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.m +39 -0
  223. data/vendor/Pods/NSData+MD5Digest/README.md +11 -0
  224. data/vendor/Pods/Pods-AFNetworking-Private.xcconfig +5 -0
  225. data/vendor/Pods/Pods-AFNetworking-dummy.m +5 -0
  226. data/vendor/Pods/Pods-AFNetworking-prefix.pch +17 -0
  227. data/vendor/Pods/Pods-AFNetworking.xcconfig +1 -0
  228. data/vendor/Pods/Pods-Acknowledgements.markdown +96 -0
  229. data/vendor/Pods/Pods-Acknowledgements.plist +142 -0
  230. data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +5 -0
  231. data/vendor/Pods/Pods-CocoaLumberjack-dummy.m +5 -0
  232. data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +5 -0
  233. data/vendor/Pods/Pods-CocoaLumberjack.xcconfig +0 -0
  234. data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +5 -0
  235. data/vendor/Pods/Pods-NSData+MD5Digest-dummy.m +5 -0
  236. data/vendor/Pods/Pods-NSData+MD5Digest-prefix.pch +5 -0
  237. data/vendor/Pods/Pods-NSData+MD5Digest.xcconfig +0 -0
  238. data/vendor/Pods/Pods-Reachability-Private.xcconfig +5 -0
  239. data/vendor/Pods/Pods-Reachability-dummy.m +5 -0
  240. data/vendor/Pods/Pods-Reachability-prefix.pch +5 -0
  241. data/vendor/Pods/Pods-Reachability.xcconfig +1 -0
  242. data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +5 -0
  243. data/vendor/Pods/Pods-YapDatabase-dummy.m +5 -0
  244. data/vendor/Pods/Pods-YapDatabase-prefix.pch +5 -0
  245. data/vendor/Pods/Pods-YapDatabase.xcconfig +1 -0
  246. data/vendor/Pods/Pods-dummy.m +5 -0
  247. data/vendor/Pods/Pods-environment.h +38 -0
  248. data/vendor/Pods/Pods-resources.sh +68 -0
  249. data/vendor/Pods/Pods.bridgesupport +5096 -0
  250. data/vendor/Pods/Pods.xcconfig +5 -0
  251. data/vendor/Pods/Pods.xcodeproj/project.pbxproj +5536 -0
  252. data/vendor/Pods/Reachability/LICENCE.txt +24 -0
  253. data/vendor/Pods/Reachability/README.md +65 -0
  254. data/vendor/Pods/Reachability/Reachability.h +109 -0
  255. data/vendor/Pods/Reachability/Reachability.m +527 -0
  256. data/vendor/Pods/YapDatabase/LICENSE.txt +18 -0
  257. data/vendor/Pods/YapDatabase/README.md +30 -0
  258. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +19 -0
  259. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +108 -0
  260. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +175 -0
  261. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.h +12 -0
  262. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.m +41 -0
  263. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +39 -0
  264. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +966 -0
  265. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +69 -0
  266. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h +89 -0
  267. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m +146 -0
  268. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h +32 -0
  269. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +298 -0
  270. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h +79 -0
  271. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m +95 -0
  272. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h +68 -0
  273. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +1352 -0
  274. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +440 -0
  275. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.h +15 -0
  276. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +58 -0
  277. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h +11 -0
  278. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +46 -0
  279. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h +11 -0
  280. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +180 -0
  281. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +73 -0
  282. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +100 -0
  283. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +149 -0
  284. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h +33 -0
  285. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +330 -0
  286. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h +33 -0
  287. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +184 -0
  288. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h +58 -0
  289. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +1166 -0
  290. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewChangePrivate.h +94 -0
  291. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewMappingsPrivate.h +72 -0
  292. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.h +36 -0
  293. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.mm +296 -0
  294. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.h +27 -0
  295. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.m +28 -0
  296. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +153 -0
  297. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewRangeOptionsPrivate.h +17 -0
  298. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +272 -0
  299. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +2494 -0
  300. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +825 -0
  301. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +1567 -0
  302. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.h +330 -0
  303. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.m +141 -0
  304. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +186 -0
  305. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +191 -0
  306. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +115 -0
  307. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +897 -0
  308. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +56 -0
  309. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.m +27 -0
  310. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +447 -0
  311. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +4505 -0
  312. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +90 -0
  313. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +453 -0
  314. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.h +29 -0
  315. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.m +48 -0
  316. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +37 -0
  317. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +83 -0
  318. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.h +158 -0
  319. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.m +73 -0
  320. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.h +17 -0
  321. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.m +56 -0
  322. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +424 -0
  323. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.h +13 -0
  324. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.m +26 -0
  325. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseString.h +121 -0
  326. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.h +74 -0
  327. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.m +603 -0
  328. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.h +17 -0
  329. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +31 -0
  330. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.h +15 -0
  331. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.m +31 -0
  332. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +20 -0
  333. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +194 -0
  334. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.h +42 -0
  335. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.m +96 -0
  336. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.h +41 -0
  337. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.m +82 -0
  338. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +547 -0
  339. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +2022 -0
  340. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +447 -0
  341. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +3874 -0
  342. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +541 -0
  343. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +5282 -0
  344. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +16 -0
  345. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +13 -0
  346. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +20 -0
  347. data/yapper.gemspec +24 -0
  348. metadata +458 -0
@@ -0,0 +1,56 @@
1
+ #import "YapDatabaseManager.h"
2
+ #import <libkern/OSAtomic.h>
3
+
4
+ /**
5
+ * There should only be one YapDatabase or YapCollectionDatabase per file.
6
+ *
7
+ * The architecture design is to create a single parent database instance,
8
+ * and then spawn connections to the database as needed from the parent.
9
+ *
10
+ * The architecture is built around this restriction, and is dependent upon it for proper operation.
11
+ * This class simply helps maintain this requirement.
12
+ **/
13
+ @implementation YapDatabaseManager
14
+
15
+ static NSMutableSet *registeredPaths;
16
+ static OSSpinLock lock;
17
+
18
+ + (void)initialize
19
+ {
20
+ static dispatch_once_t onceToken;
21
+ dispatch_once(&onceToken, ^{
22
+
23
+ registeredPaths = [[NSMutableSet alloc] init];
24
+ lock = OS_SPINLOCK_INIT;
25
+ });
26
+ }
27
+
28
+ + (BOOL)registerDatabaseForPath:(NSString *)inPath
29
+ {
30
+ NSString *path = [inPath stringByStandardizingPath];
31
+ if (path == nil) return NO;
32
+
33
+ BOOL result = NO;
34
+
35
+ OSSpinLockLock(&lock);
36
+ if (![registeredPaths containsObject:path])
37
+ {
38
+ [registeredPaths addObject:path];
39
+ result = YES;
40
+ }
41
+ OSSpinLockUnlock(&lock);
42
+
43
+ return result;
44
+ }
45
+
46
+ + (void)deregisterDatabaseForPath:(NSString *)inPath
47
+ {
48
+ NSString *path = [inPath stringByStandardizingPath];
49
+ if (path == nil) return;
50
+
51
+ OSSpinLockLock(&lock);
52
+ [registeredPaths removeObject:path];
53
+ OSSpinLockUnlock(&lock);
54
+ }
55
+
56
+ @end
@@ -0,0 +1,424 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ #import "YapDatabase.h"
4
+ #import "YapDatabaseDefaults.h"
5
+ #import "YapDatabaseConnection.h"
6
+ #import "YapDatabaseTransaction.h"
7
+ #import "YapDatabaseExtension.h"
8
+
9
+ #import "YapCache.h"
10
+ #import "YapMemoryTable.h"
11
+
12
+ #import "sqlite3.h"
13
+
14
+ /**
15
+ * Helper method to conditionally invoke sqlite3_finalize on a statement, and then set the ivar to NULL.
16
+ **/
17
+ NS_INLINE void sqlite_finalize_null(sqlite3_stmt **stmtPtr)
18
+ {
19
+ if (*stmtPtr) {
20
+ sqlite3_finalize(*stmtPtr);
21
+ *stmtPtr = NULL;
22
+ }
23
+ }
24
+
25
+ extern NSString *const YapDatabaseRegisteredExtensionsKey;
26
+ extern NSString *const YapDatabaseRegisteredTablesKey;
27
+ extern NSString *const YapDatabaseExtensionsOrderKey;
28
+ extern NSString *const YapDatabaseNotificationKey;
29
+
30
+ @interface YapDatabase () {
31
+ @private
32
+
33
+ NSMutableArray *changesets;
34
+ uint64_t snapshot;
35
+
36
+ dispatch_queue_t internalQueue;
37
+ dispatch_queue_t checkpointQueue;
38
+
39
+ YapDatabaseDefaults *defaults;
40
+
41
+ NSDictionary *registeredExtensions;
42
+ NSDictionary *registeredTables;
43
+
44
+ NSDictionary *extensionDependencies;
45
+ NSArray *extensionsOrder;
46
+
47
+ YapDatabaseConnection *registrationConnection;
48
+
49
+ NSUInteger maxConnectionPoolCount;
50
+ NSTimeInterval connectionPoolLifetime;
51
+ dispatch_source_t connectionPoolTimer;
52
+ NSMutableArray *connectionPoolValues;
53
+ NSMutableArray *connectionPoolDates;
54
+
55
+ sqlite3 *db; // Used for setup & checkpoints
56
+
57
+ @public
58
+
59
+ void *IsOnSnapshotQueueKey; // Only to be used by YapDatabaseConnection
60
+ void *IsOnWriteQueueKey; // Only to be used by YapDatabaseConnection
61
+
62
+ dispatch_queue_t snapshotQueue; // Only to be used by YapDatabaseConnection
63
+ dispatch_queue_t writeQueue; // Only to be used by YapDatabaseConnection
64
+
65
+ NSMutableArray *connectionStates; // Only to be used by YapDatabaseConnection
66
+
67
+ NSArray *previouslyRegisteredExtensionNames; // Only to be used by YapDatabaseConnection
68
+
69
+ YapDatabaseSerializer objectSerializer; // Read-only by transactions
70
+ YapDatabaseDeserializer objectDeserializer; // Read-only by transactions
71
+
72
+ YapDatabaseSerializer metadataSerializer; // Read-only by transactions
73
+ YapDatabaseDeserializer metadataDeserializer; // Read-only by transactions
74
+
75
+ YapDatabaseSanitizer objectSanitizer; // Read-only by transactions
76
+ YapDatabaseSanitizer metadataSanitizer; // Read-only by transactions
77
+ }
78
+
79
+ /**
80
+ * General utility methods.
81
+ **/
82
+ - (BOOL)tableExists:(NSString *)tableName using:(sqlite3 *)aDb;
83
+ - (NSArray *)columnNamesForTable:(NSString *)tableName using:(sqlite3 *)aDb;
84
+
85
+ /**
86
+ * New connections inherit their default values from this structure.
87
+ **/
88
+ - (YapDatabaseDefaults *)defaults;
89
+
90
+ /**
91
+ * Called from YapDatabaseConnection's dealloc method to remove connection's state from connectionStates array.
92
+ **/
93
+ - (void)removeConnection:(YapDatabaseConnection *)connection;
94
+
95
+ /**
96
+ * YapDatabaseConnection uses these methods to recycle sqlite3 instances using the connection pool.
97
+ **/
98
+ - (BOOL)connectionPoolEnqueue:(sqlite3 *)aDb;
99
+ - (sqlite3 *)connectionPoolDequeue;
100
+
101
+ /**
102
+ * These methods are only accessible from within the snapshotQueue.
103
+ * Used by [YapDatabaseConnection prepare].
104
+ **/
105
+ - (NSDictionary *)registeredTables;
106
+ - (NSArray *)extensionsOrder;
107
+
108
+ /**
109
+ * This method is only accessible from within the snapshotQueue.
110
+ *
111
+ * Prior to starting the sqlite commit, the connection must report its changeset to the database.
112
+ * The database will store the changeset, and provide it to other connections if needed (due to a race condition).
113
+ *
114
+ * The following MUST be in the dictionary:
115
+ *
116
+ * - snapshot : NSNumber with the changeset's snapshot
117
+ **/
118
+ - (void)notePendingChanges:(NSDictionary *)changeset fromConnection:(YapDatabaseConnection *)connection;
119
+
120
+ /**
121
+ * This method is only accessible from within the snapshotQueue.
122
+ *
123
+ * This method is used if a transaction finds itself in a race condition.
124
+ * That is, the transaction started before it was able to process changesets from sibling connections.
125
+ *
126
+ * It should fetch the changesets needed and then process them via [connection noteCommittedChanges:].
127
+ **/
128
+ - (NSArray *)pendingAndCommittedChangesSince:(uint64_t)connectionSnapshot until:(uint64_t)maxSnapshot;
129
+
130
+ /**
131
+ * This method is only accessible from within the snapshotQueue.
132
+ *
133
+ * Upon completion of a readwrite transaction, the connection must report its changeset to the database.
134
+ * The database will then forward the changeset to all other connections.
135
+ *
136
+ * The following MUST be in the dictionary:
137
+ *
138
+ * - snapshot : NSNumber with the changeset's snapshot
139
+ **/
140
+ - (void)noteCommittedChanges:(NSDictionary *)changeset fromConnection:(YapDatabaseConnection *)connection;
141
+
142
+ /**
143
+ * This method should be called whenever the maximum checkpointable snapshot is incremented.
144
+ * That is, the state of every connection is known to the system.
145
+ * And a snaphot cannot be checkpointed until every connection is at or past that snapshot.
146
+ * Thus, we can know the point at which a snapshot becomes checkpointable,
147
+ * and we can thus optimize the checkpoint invocations such that
148
+ * each invocation is able to checkpoint one or more commits.
149
+ **/
150
+ - (void)asyncCheckpoint:(uint64_t)maxCheckpointableSnapshot;
151
+
152
+ @end
153
+
154
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
155
+ #pragma mark -
156
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
157
+
158
+ @interface YapDatabaseConnection () {
159
+ @private
160
+ uint64_t snapshot;
161
+
162
+ id sharedKeySetForInternalChangeset;
163
+ id sharedKeySetForExternalChangeset;
164
+
165
+ YapDatabaseReadTransaction *longLivedReadTransaction;
166
+ BOOL throwExceptionsForImplicitlyEndingLongLivedReadTransaction;
167
+ NSMutableArray *pendingChangesets;
168
+ NSMutableArray *processedChangesets;
169
+
170
+ NSDictionary *registeredExtensions;
171
+ BOOL registeredExtensionsChanged;
172
+
173
+ NSDictionary *registeredTables;
174
+ BOOL registeredTablesChanged;
175
+
176
+ NSMutableDictionary *extensions;
177
+ BOOL extensionsReady;
178
+ id sharedKeySetForExtensions;
179
+
180
+ @public
181
+ __strong YapDatabase *database;
182
+
183
+ sqlite3 *db;
184
+
185
+ dispatch_queue_t connectionQueue; // Only for YapDatabaseExtensionConnection subclasses
186
+ void *IsOnConnectionQueueKey; // Only for YapDatabaseExtensionConnection subclasses
187
+
188
+ NSArray *extensionsOrder; // Read-only by YapDatabaseTransaction
189
+
190
+ BOOL hasDiskChanges;
191
+
192
+ YapCache *objectCache;
193
+ YapCache *metadataCache;
194
+
195
+ NSUInteger objectCacheLimit; // Read-only by transaction. Use as consideration of whether to add to cache.
196
+ NSUInteger metadataCacheLimit; // Read-only by transaction. Use as consideration of whether to add to cache.
197
+
198
+ YapDatabasePolicy objectPolicy; // Read-only by transaction. Use to determine what goes in objectChanges.
199
+ YapDatabasePolicy metadataPolicy; // Read-only by transaction. Use to determine what goes in metadataChanges.
200
+
201
+ BOOL needsMarkSqlLevelSharedReadLock; // Read-only by transaction. Use as consideration of whether to invoke method.
202
+
203
+ NSMutableDictionary *objectChanges;
204
+ NSMutableDictionary *metadataChanges;
205
+ NSMutableSet *removedKeys;
206
+ NSMutableSet *removedCollections;
207
+ BOOL allKeysRemoved;
208
+ }
209
+
210
+ - (id)initWithDatabase:(YapDatabase *)database;
211
+
212
+ - (sqlite3_stmt *)beginTransactionStatement;
213
+ - (sqlite3_stmt *)commitTransactionStatement;
214
+ - (sqlite3_stmt *)rollbackTransactionStatement;
215
+
216
+ - (sqlite3_stmt *)yapGetDataForKeyStatement; // Against "yap" database, for internal use
217
+ - (sqlite3_stmt *)yapSetDataForKeyStatement; // Against "yap" database, for internal use
218
+ - (sqlite3_stmt *)yapRemoveExtensionStatement; // Against "yap" database, for internal use
219
+
220
+ - (sqlite3_stmt *)getCollectionCountStatement;
221
+ - (sqlite3_stmt *)getKeyCountForCollectionStatement;
222
+ - (sqlite3_stmt *)getKeyCountForAllStatement;
223
+ - (sqlite3_stmt *)getCountForRowidStatement;
224
+ - (sqlite3_stmt *)getRowidForKeyStatement;
225
+ - (sqlite3_stmt *)getKeyForRowidStatement;
226
+ - (sqlite3_stmt *)getKeyDataForRowidStatement;
227
+ - (sqlite3_stmt *)getKeyMetadataForRowidStatement;
228
+ - (sqlite3_stmt *)getDataForRowidStatement;
229
+ - (sqlite3_stmt *)getAllForRowidStatement;
230
+ - (sqlite3_stmt *)getDataForKeyStatement;
231
+ - (sqlite3_stmt *)getMetadataForKeyStatement;
232
+ - (sqlite3_stmt *)getAllForKeyStatement;
233
+ - (sqlite3_stmt *)insertForRowidStatement;
234
+ - (sqlite3_stmt *)updateAllForRowidStatement;
235
+ - (sqlite3_stmt *)updateMetadataForRowidStatement;
236
+ - (sqlite3_stmt *)removeForRowidStatement;
237
+ - (sqlite3_stmt *)removeCollectionStatement;
238
+ - (sqlite3_stmt *)removeAllStatement;
239
+ - (sqlite3_stmt *)enumerateCollectionsStatement;
240
+ - (sqlite3_stmt *)enumerateCollectionsForKeyStatement;
241
+ - (sqlite3_stmt *)enumerateKeysInCollectionStatement;
242
+ - (sqlite3_stmt *)enumerateKeysInAllCollectionsStatement;
243
+ - (sqlite3_stmt *)enumerateKeysAndMetadataInCollectionStatement;
244
+ - (sqlite3_stmt *)enumerateKeysAndMetadataInAllCollectionsStatement;
245
+ - (sqlite3_stmt *)enumerateKeysAndObjectsInCollectionStatement;
246
+ - (sqlite3_stmt *)enumerateKeysAndObjectsInAllCollectionsStatement;
247
+ - (sqlite3_stmt *)enumerateRowsInCollectionStatement;
248
+ - (sqlite3_stmt *)enumerateRowsInAllCollectionsStatement;
249
+
250
+ - (void)prepare;
251
+
252
+ - (NSDictionary *)extensions;
253
+
254
+ - (BOOL)registerExtension:(YapDatabaseExtension *)extension withName:(NSString *)extensionName;
255
+ - (void)unregisterExtension:(NSString *)extensionName;
256
+
257
+ - (NSDictionary *)registeredTables;
258
+
259
+ - (BOOL)registerTable:(YapMemoryTable *)table withName:(NSString *)name;
260
+ - (void)unregisterTableWithName:(NSString *)name;
261
+
262
+ - (YapDatabaseReadTransaction *)newReadTransaction;
263
+ - (YapDatabaseReadWriteTransaction *)newReadWriteTransaction;
264
+
265
+ - (void)markSqlLevelSharedReadLockAcquired;
266
+
267
+ - (void)postRollbackCleanup;
268
+
269
+ - (NSArray *)internalChangesetKeys;
270
+ - (NSArray *)externalChangesetKeys;
271
+ - (void)getInternalChangeset:(NSMutableDictionary **)internalPtr externalChangeset:(NSMutableDictionary **)externalPtr;
272
+ - (void)processChangeset:(NSDictionary *)changeset;
273
+
274
+ - (void)noteCommittedChanges:(NSDictionary *)changeset;
275
+
276
+ - (void)maybeResetLongLivedReadTransaction;
277
+
278
+ @end
279
+
280
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
281
+ #pragma mark -
282
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
283
+
284
+ @interface YapDatabaseReadTransaction () {
285
+ @private
286
+
287
+ NSMutableDictionary *extensions;
288
+ NSMutableArray *orderedExtensions;
289
+ BOOL extensionsReady;
290
+
291
+ @protected
292
+ BOOL isMutated; // Used for "mutation during enumeration" protection
293
+
294
+ @public
295
+ __unsafe_unretained YapDatabaseConnection *connection;
296
+
297
+ BOOL isReadWriteTransaction;
298
+ BOOL rollback;
299
+ id customObjectForNotification;
300
+ }
301
+
302
+ - (id)initWithConnection:(YapDatabaseConnection *)connection isReadWriteTransaction:(BOOL)flag;
303
+
304
+ - (void)beginTransaction;
305
+ - (void)preCommitReadWriteTransaction;
306
+ - (void)commitTransaction;
307
+ - (void)rollbackTransaction;
308
+
309
+ - (NSDictionary *)extensions;
310
+ - (NSArray *)orderedExtensions;
311
+
312
+ - (YapMemoryTableTransaction *)memoryTableTransaction:(NSString *)tableName;
313
+
314
+ - (void)addRegisteredExtensionTransaction:(YapDatabaseExtensionTransaction *)extTransaction;
315
+ - (void)removeRegisteredExtensionTransaction:(NSString *)extName;
316
+
317
+
318
+ - (BOOL)getBoolValue:(BOOL *)valuePtr forKey:(NSString *)key extension:(NSString *)extensionName;
319
+ - (void)setBoolValue:(BOOL)value forKey:(NSString *)key extension:(NSString *)extensionName;
320
+
321
+ - (BOOL)getIntValue:(int *)valuePtr forKey:(NSString *)key extension:(NSString *)extensionName;
322
+ - (void)setIntValue:(int)value forKey:(NSString *)key extension:(NSString *)extensionName;
323
+
324
+ - (BOOL)getDoubleValue:(double *)valuePtr forKey:(NSString *)key extension:(NSString *)extensionName;
325
+ - (void)setDoubleValue:(double)value forKey:(NSString *)key extension:(NSString *)extensionName;
326
+
327
+ - (NSString *)stringValueForKey:(NSString *)key extension:(NSString *)extensionName;
328
+ - (void)setStringValue:(NSString *)value forKey:(NSString *)key extension:(NSString *)extensionName;
329
+
330
+ - (NSData *)dataValueForKey:(NSString *)key extension:(NSString *)extensionName;
331
+ - (void)setDataValue:(NSData *)value forKey:(NSString *)key extension:(NSString *)extensionName;
332
+
333
+ - (void)removeAllValuesForExtension:(NSString *)extensionName;
334
+
335
+ - (NSException *)mutationDuringEnumerationException;
336
+
337
+ - (BOOL)getRowid:(int64_t *)rowidPtr forKey:(NSString *)key inCollection:(NSString *)collection;
338
+
339
+ - (BOOL)getKey:(NSString **)keyPtr collection:(NSString **)collectionPtr forRowid:(int64_t)rowid;
340
+
341
+ - (BOOL)getKey:(NSString **)keyPtr
342
+ collection:(NSString **)collectionPtr
343
+ object:(id *)objectPtr
344
+ forRowid:(int64_t)rowid;
345
+
346
+ - (BOOL)getKey:(NSString **)keyPtr
347
+ collection:(NSString **)collectionPtr
348
+ metadata:(id *)metadataPtr
349
+ forRowid:(int64_t)rowid;
350
+
351
+ - (BOOL)getKey:(NSString **)keyPtr
352
+ collection:(NSString **)collectionPtr
353
+ object:(id *)objectPtr
354
+ metadata:(id *)metadataPtr
355
+ forRowid:(int64_t)rowid;
356
+
357
+ - (BOOL)hasRowForRowid:(int64_t)rowid;
358
+
359
+ - (id)objectForKey:(NSString *)key inCollection:(NSString *)collection withRowid:(int64_t)rowid;
360
+
361
+ - (void)_enumerateKeysInCollection:(NSString *)collection
362
+ usingBlock:(void (^)(int64_t rowid, NSString *key, BOOL *stop))block;
363
+
364
+ - (void)_enumerateKeysInCollections:(NSArray *)collections
365
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, BOOL *stop))block;
366
+
367
+ - (void)_enumerateKeysInAllCollectionsUsingBlock:
368
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, BOOL *stop))block;
369
+
370
+ - (void)_enumerateKeysAndMetadataInCollection:(NSString *)collection
371
+ usingBlock:(void (^)(int64_t rowid, NSString *key, id metadata, BOOL *stop))block;
372
+ - (void)_enumerateKeysAndMetadataInCollection:(NSString *)collection
373
+ usingBlock:(void (^)(int64_t rowid, NSString *key, id metadata, BOOL *stop))block
374
+ withFilter:(BOOL (^)(int64_t rowid, NSString *key))filter;
375
+
376
+ - (void)_enumerateKeysAndMetadataInCollections:(NSArray *)collections
377
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, id metadata, BOOL *stop))block;
378
+ - (void)_enumerateKeysAndMetadataInCollections:(NSArray *)collections
379
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, id metadata, BOOL *stop))block
380
+ withFilter:(BOOL (^)(int64_t rowid, NSString *collection, NSString *key))filter;
381
+
382
+ - (void)_enumerateKeysAndMetadataInAllCollectionsUsingBlock:
383
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, id metadata, BOOL *stop))block;
384
+ - (void)_enumerateKeysAndMetadataInAllCollectionsUsingBlock:
385
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, id metadata, BOOL *stop))block
386
+ withFilter:(BOOL (^)(int64_t rowid, NSString *collection, NSString *key))filter;
387
+
388
+ - (void)_enumerateKeysAndObjectsInCollection:(NSString *)collection
389
+ usingBlock:(void (^)(int64_t rowid, NSString *key, id object, BOOL *stop))block;
390
+ - (void)_enumerateKeysAndObjectsInCollection:(NSString *)collection
391
+ usingBlock:(void (^)(int64_t rowid, NSString *key, id object, BOOL *stop))block
392
+ withFilter:(BOOL (^)(int64_t rowid, NSString *key))filter;
393
+
394
+ - (void)_enumerateKeysAndObjectsInCollections:(NSArray *)collections
395
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, id object, BOOL *stop))block;
396
+ - (void)_enumerateKeysAndObjectsInCollections:(NSArray *)collections
397
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, id object, BOOL *stop))block
398
+ withFilter:(BOOL (^)(int64_t rowid, NSString *collection, NSString *key))filter;
399
+
400
+ - (void)_enumerateKeysAndObjectsInAllCollectionsUsingBlock:
401
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, id object, BOOL *stop))block;
402
+ - (void)_enumerateKeysAndObjectsInAllCollectionsUsingBlock:
403
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, id object, BOOL *stop))block
404
+ withFilter:(BOOL (^)(int64_t rowid, NSString *collection, NSString *key))filter;
405
+
406
+ - (void)_enumerateRowsInCollection:(NSString *)collection
407
+ usingBlock:(void (^)(int64_t rowid, NSString *key, id object, id metadata, BOOL *stop))block;
408
+ - (void)_enumerateRowsInCollection:(NSString *)collection
409
+ usingBlock:(void (^)(int64_t rowid, NSString *key, id object, id metadata, BOOL *stop))block
410
+ withFilter:(BOOL (^)(int64_t rowid, NSString *key))filter;
411
+
412
+ - (void)_enumerateRowsInCollections:(NSArray *)collections
413
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, id object, id metadata, BOOL *stop))block;
414
+ - (void)_enumerateRowsInCollections:(NSArray *)collections
415
+ usingBlock:(void (^)(int64_t rowid, NSString *collection, NSString *key, id object, id metadata, BOOL *stop))block
416
+ withFilter:(BOOL (^)(int64_t rowid, NSString *collection, NSString *key))filter;
417
+
418
+ - (void)_enumerateRowsInAllCollectionsUsingBlock:
419
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, id object, id metadata, BOOL *stop))block;
420
+ - (void)_enumerateRowsInAllCollectionsUsingBlock:
421
+ (void (^)(int64_t rowid, NSString *collection, NSString *key, id object, id metadata, BOOL *stop))block
422
+ withFilter:(BOOL (^)(int64_t rowid, NSString *collection, NSString *key))filter;
423
+
424
+ @end