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,11 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+
4
+ @interface YapDatabaseExtensionTransaction : NSObject
5
+
6
+ /**
7
+ * This class is abstract and has no public API.
8
+ * See concrete implementations such as YapDatabaseViewTransaction.
9
+ **/
10
+
11
+ @end
@@ -0,0 +1,108 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ #import "YapDatabaseView.h"
4
+ #import "YapDatabaseFilteredViewConnection.h"
5
+ #import "YapDatabaseFilteredViewTransaction.h"
6
+
7
+
8
+ #ifndef YapDatabaseViewFilteringBlockDefined
9
+ #define YapDatabaseViewFilteringBlockDefined 1
10
+
11
+ typedef id YapDatabaseViewFilteringBlock; // One of the YapDatabaseViewGroupingX types below.
12
+
13
+ typedef BOOL (^YapDatabaseViewFilteringWithKeyBlock) \
14
+ (NSString *group, NSString *collection, NSString *key);
15
+ typedef BOOL (^YapDatabaseViewFilteringWithObjectBlock) \
16
+ (NSString *group, NSString *collection, NSString *key, id object);
17
+ typedef BOOL (^YapDatabaseViewFilteringWithMetadataBlock)\
18
+ (NSString *group, NSString *collection, NSString *key, id metadata);
19
+ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
20
+ (NSString *group, NSString *collection, NSString *key, id object, id metadata);
21
+
22
+ #endif
23
+
24
+ @interface YapDatabaseFilteredView : YapDatabaseView
25
+
26
+ /**
27
+ * @param parentViewName
28
+ *
29
+ * The parentViewName must be the registered name of a YapDatabaseView or
30
+ * YapDatabaseFilteredView extension.
31
+ * That is, you must first register the parentView, and then use that registered name here.
32
+ *
33
+ * @param filteringBlock
34
+ *
35
+ * The filteringBlock type is one of the following typedefs:
36
+ * - YapDatabaseViewFilteringWithKeyBlock
37
+ * - YapDatabaseViewFilteringWithObjectBlock
38
+ * - YapDatabaseViewFilteringWithMetadataBlock
39
+ * - YapDatabaseViewFilteringWithRowBlock
40
+ * It allows you to filter items from this view that exist in the parent view.
41
+ * You should pick a block type that requires the minimum number of parameters that you need.
42
+ *
43
+ * @param filteringBlockType
44
+ *
45
+ * This parameter identifies the type of filtering block being used.
46
+ * It must be one of the following (and must match the filteringBlock being passed):
47
+ * - YapDatabaseViewBlockTypeWithKey
48
+ * - YapDatabaseViewBlockTypeWithObject
49
+ * - YapDatabaseViewBlockTypeWithMetadata
50
+ * - YapDatabaseViewBlockTypeWithRow
51
+ *
52
+ * @param tag
53
+ *
54
+ * The filteringBlock may be changed after the filteredView is created (see YapDatabaseFilteredViewTransaction).
55
+ * This is often in association with user events.
56
+ * The tag helps to identify the filteringBlock being used.
57
+ * During initialization of the view, the view will compare the passed tag to what it has stored from a previous
58
+ * app session. If the tag matches, then the filteredView is already setup. Otherwise the view will automatically
59
+ * flush its tables, and re-populate itself.
60
+ *
61
+ * @param options
62
+ *
63
+ * The options allow you to specify things like creating an IN-MEMORY-ONLY VIEW (non persistent).
64
+ **/
65
+
66
+ - (id)initWithParentViewName:(NSString *)viewName
67
+ filteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
68
+ filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType;
69
+
70
+ - (id)initWithParentViewName:(NSString *)viewName
71
+ filteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
72
+ filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType
73
+ tag:(NSString *)tag;
74
+
75
+ - (id)initWithParentViewName:(NSString *)viewName
76
+ filteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
77
+ filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType
78
+ tag:(NSString *)tag
79
+ options:(YapDatabaseViewOptions *)options;
80
+
81
+ @property (nonatomic, strong, readonly) NSString *parentViewName;
82
+
83
+ @property (nonatomic, strong, readonly) YapDatabaseViewFilteringBlock filteringBlock;
84
+ @property (nonatomic, assign, readonly) YapDatabaseViewBlockType filteringBlockType;
85
+
86
+ /**
87
+ * The tag assists you in updating the filteringBlock.
88
+ *
89
+ * Whenever you change the filteringBlock, just specify a tag to associate with the block.
90
+ * The tag can help you to identify the filtering criteria, or perhaps be used as a versioning scheme.
91
+ *
92
+ * Here's how it works:
93
+ * The very first time you create the filteredView, it will populate itself from the parentView + filteringBlock.
94
+ * On subsequent app launches, when you re-register the filteredView, it will check the passed tag with
95
+ * the tag it has stored from the previous app session. If the tags match then the filteredView knows it doesn't
96
+ * have to do anything. (It's already setup from last app session.) However, if the tags don't match, then
97
+ * the filteredView will re-populate itself.
98
+ *
99
+ * It works the same way if you change the filteringBlock on-the-fly. (See setFilteringBlock:filteringBlockType:tag:)
100
+ **/
101
+ @property (nonatomic, copy, readonly) NSString *tag;
102
+
103
+ /**
104
+ * The options allow you to specify things like creating an IN-MEMORY-ONLY VIEW (non persistent).
105
+ **/
106
+ @property (nonatomic, copy, readonly) YapDatabaseViewOptions *options;
107
+
108
+ @end
@@ -0,0 +1,12 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import "YapDatabaseViewConnection.h"
3
+
4
+ @class YapDatabaseFilteredView;
5
+
6
+
7
+ @interface YapDatabaseFilteredViewConnection : YapDatabaseViewConnection
8
+
9
+ // Returns properly typed parent view instance
10
+ @property (nonatomic, strong, readonly) YapDatabaseFilteredView *filteredView;
11
+
12
+ @end
@@ -0,0 +1,19 @@
1
+ #import "YapDatabaseFilteredView.h"
2
+ #import "YapDatabaseFilteredViewConnection.h"
3
+ #import "YapDatabaseFilteredViewTransaction.h"
4
+
5
+ #import "YapDatabaseViewPrivate.h"
6
+
7
+
8
+ @interface YapDatabaseFilteredView () {
9
+ @public
10
+
11
+ NSString *parentViewName;
12
+
13
+ YapDatabaseViewFilteringBlock filteringBlock;
14
+ YapDatabaseViewBlockType filteringBlockType;
15
+
16
+ NSString *tag;
17
+ }
18
+
19
+ @end
@@ -0,0 +1,39 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ #import "YapDatabaseViewTransaction.h"
4
+ #import "YapDatabaseFilteredView.h"
5
+
6
+ #ifndef YapDatabaseViewFilteringBlockDefined
7
+ #define YapDatabaseViewFilteringBlockDefined 1
8
+
9
+ typedef id YapDatabaseViewFilteringBlock; // One of the YapDatabaseViewGroupingX types below.
10
+
11
+ typedef BOOL (^YapDatabaseViewFilteringWithKeyBlock) \
12
+ (NSString *group, NSString *collection, NSString *key);
13
+ typedef BOOL (^YapDatabaseViewFilteringWithObjectBlock) \
14
+ (NSString *group, NSString *collection, NSString *key, id object);
15
+ typedef BOOL (^YapDatabaseViewFilteringWithMetadataBlock)\
16
+ (NSString *group, NSString *collection, NSString *key, id metadata);
17
+ typedef BOOL (^YapDatabaseViewFilteringWithRowBlock) \
18
+ (NSString *group, NSString *collection, NSString *key, id object, id metadata);
19
+
20
+ #endif
21
+
22
+
23
+ @interface YapDatabaseFilteredViewTransaction : YapDatabaseViewTransaction
24
+
25
+ // This class extends YapDatabaseViewTransaction.
26
+ //
27
+ // Please see YapDatabaseViewTransaction.h
28
+
29
+ @end
30
+
31
+ #pragma mark -
32
+
33
+ @interface YapDatabaseFilteredViewTransaction (ReadWrite)
34
+
35
+ - (void)setFilteringBlock:(YapDatabaseViewFilteringBlock)filteringBlock
36
+ filteringBlockType:(YapDatabaseViewBlockType)filteringBlockType
37
+ tag:(NSString *)tag;
38
+
39
+ @end
@@ -0,0 +1,89 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ #import "YapDatabaseExtension.h"
4
+ #import "YapDatabaseFullTextSearchConnection.h"
5
+ #import "YapDatabaseFullTextSearchTransaction.h"
6
+
7
+ /**
8
+ * Welcome to YapDatabase!
9
+ *
10
+ * https://github.com/yaptv/YapDatabase
11
+ *
12
+ * The project wiki has a wealth of documentation if you have any questions.
13
+ * https://github.com/yaptv/YapDatabase/wiki
14
+ *
15
+ * YapDatabaseFullTextSearch is an extension for performing text based search.
16
+ * Internally it uses sqlite's FTS module which was contributed by Google.
17
+ **/
18
+
19
+ /**
20
+ * The block handles extracting the column values for indexing by the FTS module.
21
+ *
22
+ * When you add or update rows in the databse the FTS block is invoked.
23
+ * Your block can inspect the row and determine if it contains any text columns that should be indexed.
24
+ * If not, the block can simply return.
25
+ * Otherwise the block should extract any text values, add them to the given dictionary.
26
+ *
27
+ * After the block returns, the dictionary parameter will be inspected,
28
+ * and any set values will be automatically passed to sqlite's FTS module for indexing.
29
+ *
30
+ * You should choose a block type that takes the minimum number of required parameters.
31
+ * The view can make various optimizations based on required parameters of the block.
32
+ **/
33
+ typedef id YapDatabaseFullTextSearchBlock; // One of YapDatabaseFullTextSearchXBlock types
34
+
35
+ typedef void (^YapDatabaseFullTextSearchWithKeyBlock) \
36
+ (NSMutableDictionary *dict, NSString *collection, NSString *key);
37
+ typedef void (^YapDatabaseFullTextSearchWithObjectBlock) \
38
+ (NSMutableDictionary *dict, NSString *collection, NSString *key, id object);
39
+ typedef void (^YapDatabaseFullTextSearchWithMetadataBlock) \
40
+ (NSMutableDictionary *dict, NSString *collection, NSString *key, id metadata);
41
+ typedef void (^YapDatabaseFullTextSearchWithRowBlock) \
42
+ (NSMutableDictionary *dict, NSString *collection, NSString *key, id object, id metadata);
43
+
44
+ /**
45
+ * Use this enum to specify what kind of block you're passing.
46
+ **/
47
+ typedef enum {
48
+ YapDatabaseFullTextSearchBlockTypeWithKey = 201,
49
+ YapDatabaseFullTextSearchBlockTypeWithObject = 202,
50
+ YapDatabaseFullTextSearchBlockTypeWithMetadata = 203,
51
+ YapDatabaseFullTextSearchBlockTypeWithRow = 204
52
+ } YapDatabaseFullTextSearchBlockType;
53
+
54
+ @interface YapDatabaseFullTextSearch : YapDatabaseExtension
55
+
56
+ /* Inherited from YapDatabaseExtension
57
+
58
+ @property (nonatomic, strong, readonly) NSString *registeredName;
59
+
60
+ */
61
+
62
+ - (id)initWithColumnNames:(NSArray *)columnNames
63
+ block:(YapDatabaseFullTextSearchBlock)block
64
+ blockType:(YapDatabaseFullTextSearchBlockType)blockType;
65
+
66
+ - (id)initWithColumnNames:(NSArray *)columnNames
67
+ block:(YapDatabaseFullTextSearchBlock)block
68
+ blockType:(YapDatabaseFullTextSearchBlockType)blockType
69
+ version:(int)version;
70
+
71
+ - (id)initWithColumnNames:(NSArray *)columnNames
72
+ options:(NSDictionary *)options
73
+ block:(YapDatabaseFullTextSearchBlock)block
74
+ blockType:(YapDatabaseFullTextSearchBlockType)blockType
75
+ version:(int)version;
76
+
77
+ @property (nonatomic, strong, readonly) YapDatabaseFullTextSearchBlock block;
78
+ @property (nonatomic, assign, readonly) YapDatabaseFullTextSearchBlockType blockType;
79
+
80
+ /**
81
+ * The version assists in making changes to the extension.
82
+ *
83
+ * If you need to change the columnNames and/or block,
84
+ * then simply pass an incremented version during the init method,
85
+ * and the FTS extension will automatically update itself.
86
+ **/
87
+ @property (nonatomic, assign, readonly) int version;
88
+
89
+ @end
@@ -0,0 +1,32 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import "YapDatabaseExtensionConnection.h"
3
+
4
+ @class YapDatabaseFullTextSearch;
5
+
6
+ /**
7
+ * Welcome to YapDatabase!
8
+ *
9
+ * https://github.com/yaptv/YapDatabase
10
+ *
11
+ * The project wiki has a wealth of documentation if you have any questions.
12
+ * https://github.com/yaptv/YapDatabase/wiki
13
+ *
14
+ * YapDatabaseFullTextSearch is an extension for performing text based search.
15
+ * Internally it uses sqlite's FTS module which was contributed by Google.
16
+ *
17
+ * As an extension, YapCollectiosnDatabaseFullTextSearchConnection is automatically
18
+ * created by YapDatabaseConnnection. You can access this object via:
19
+ *
20
+ * [databaseConnection extension:@"myRegisteredExtensionName"]
21
+ *
22
+ * @see YapDatabaseFullTextSearch
23
+ * @see YapDatabaseFullTextSearchTransaction
24
+ **/
25
+ @interface YapDatabaseFullTextSearchConnection : YapDatabaseExtensionConnection
26
+
27
+ /**
28
+ * Returns the parent instance.
29
+ **/
30
+ @property (nonatomic, strong, readonly) YapDatabaseFullTextSearch *fullTextSearch;
31
+
32
+ @end
@@ -0,0 +1,69 @@
1
+ #import "YapDatabaseFullTextSearch.h"
2
+ #import "YapDatabaseFullTextSearchConnection.h"
3
+ #import "YapDatabaseFullTextSearchTransaction.h"
4
+
5
+ #import "YapDatabase.h"
6
+ #import "YapDatabaseConnection.h"
7
+ #import "YapDatabaseTransaction.h"
8
+
9
+ #import "sqlite3.h"
10
+
11
+ @interface YapDatabaseFullTextSearch () {
12
+ @public
13
+
14
+ YapDatabaseFullTextSearchBlock block;
15
+ YapDatabaseFullTextSearchBlockType blockType;
16
+
17
+ NSOrderedSet *columnNames;
18
+ NSDictionary *options;
19
+ int version;
20
+
21
+ id columnNamesSharedKeySet;
22
+ }
23
+
24
+ - (NSString *)tableName;
25
+
26
+ @end
27
+
28
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
29
+ #pragma mark -
30
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
31
+
32
+ @interface YapDatabaseFullTextSearchConnection () {
33
+ @public
34
+
35
+ __strong YapDatabaseFullTextSearch *fts;
36
+ __unsafe_unretained YapDatabaseConnection *databaseConnection;
37
+
38
+ NSMutableDictionary *blockDict;
39
+ }
40
+
41
+ - (id)initWithFTS:(YapDatabaseFullTextSearch *)fts
42
+ databaseConnection:(YapDatabaseConnection *)databaseConnection;
43
+
44
+ - (sqlite3_stmt *)insertRowidStatement;
45
+ - (sqlite3_stmt *)setRowidStatement;
46
+ - (sqlite3_stmt *)removeRowidStatement;
47
+ - (sqlite3_stmt *)removeAllStatement;
48
+ - (sqlite3_stmt *)queryStatement;
49
+ - (sqlite3_stmt *)querySnippetStatement;
50
+
51
+ @end
52
+
53
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
54
+ #pragma mark -
55
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
56
+
57
+ @interface YapDatabaseFullTextSearchTransaction () {
58
+ @private
59
+
60
+ __unsafe_unretained YapDatabaseFullTextSearchConnection *ftsConnection;
61
+ __unsafe_unretained YapDatabaseReadTransaction *databaseTransaction;
62
+
63
+ BOOL isMutated;
64
+ }
65
+
66
+ - (id)initWithFTSConnection:(YapDatabaseFullTextSearchConnection *)ftsConnection
67
+ databaseTransaction:(YapDatabaseReadTransaction *)databaseTransaction;
68
+
69
+ @end
@@ -0,0 +1,79 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ /**
4
+ * This class represents options that may be passed to the FTS snippet function.
5
+ *
6
+ * It correlates with the snippet funtion arguments as defined in sqlite's FTS module:
7
+ * http://www.sqlite.org/fts3.html#section_4_2
8
+ *
9
+ * For example, if you were searching for the word "favorite",
10
+ * then a returned snippet may look something like this:
11
+ *
12
+ * <b>...</b>one of my <b>favorite</b> cheese pairings is<b>...</b>
13
+ **/
14
+ @interface YapDatabaseFullTextSearchSnippetOptions : NSObject <NSCopying>
15
+
16
+
17
+ + (NSString *)defaultStartMatchText; // @"<b>"
18
+ + (NSString *)defaultEndMatchText; // @"</b>"
19
+ + (NSString *)defaultEllipsesText; // @"..."
20
+
21
+ + (int)defaultNumberOfTokens; // 15
22
+
23
+ - (id)init;
24
+
25
+ /**
26
+ * The startMatchText is inserted before matched terms/phrases, and also before injected ellipses text.
27
+ * It is used to mark the beginning of special text within the snippet.
28
+ *
29
+ * If not set, it will be the defaultStartMatchText: @"<b>"
30
+ *
31
+ * @see defaultStartMatchText
32
+ **/
33
+ @property (nonatomic, copy) NSString *startMatchText;
34
+
35
+ /**
36
+ * The endMatchText is inserted after matched terms/phrases, and also after injected ellipses text.
37
+ * It is used to mark the end of special text within the snippet.
38
+ *
39
+ * If not set, it will be the defaultEndMatchText: @"</b>"
40
+ *
41
+ * @see defaultEndMatchText
42
+ **/
43
+ @property (nonatomic, copy) NSString *endMatchText;
44
+
45
+ /**
46
+ * If the full text from the column is too big, the snippets will be a small subsection of the snippet,
47
+ * centered on matching terms/phrases. When this occurs, and the snippet is truncated on the left and/or right,
48
+ * then the ellipsesText will be inserted on the left and/or right.
49
+ *
50
+ * If not set, it will be the defaultEllipsesText: @"…"
51
+ *
52
+ * @see defaultEllipsesText
53
+ * @see numberOfTokens
54
+ **/
55
+ @property (nonatomic, copy) NSString *ellipsesText;
56
+
57
+ /**
58
+ * The column name from which to extract the returned fragments of text from.
59
+ * If nil, then the text may be extracted from any column.
60
+ *
61
+ * If not set, the default value is nil.
62
+ **/
63
+ @property (nonatomic, copy) NSString *columnName;
64
+
65
+ /**
66
+ * The numberOfTokens is used as the (approximate) number of tokens to include in the returned snippet text value.
67
+ *
68
+ * If not set, it will be defaultNumberOfTokens: 15
69
+ *
70
+ * Setting this to a value of zero resets the value to the default.
71
+ * Negative values are allowed, as the snippet function automatically uses the absolute value.
72
+ *
73
+ * The maximum allowable absolute value is 64.
74
+ *
75
+ * @see defaultNumberOfTokens
76
+ **/
77
+ @property (nonatomic, assign) int numberOfTokens;
78
+
79
+ @end