motion-yapper 0.0.1 → 0.0.2

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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.travis.yml +2 -0
  4. data/Gemfile +1 -0
  5. data/README.md +1 -1
  6. data/Rakefile +1 -1
  7. data/lib/motion-yapper.rb +1 -0
  8. data/lib/yapper.rb +3 -5
  9. data/lib/yapper/config.rb +2 -0
  10. data/lib/yapper/db.rb +105 -40
  11. data/lib/yapper/document.rb +7 -4
  12. data/lib/yapper/document/callbacks.rb +0 -7
  13. data/lib/yapper/document/{persistance.rb → persistence.rb} +27 -21
  14. data/lib/yapper/document/relation.rb +29 -22
  15. data/lib/yapper/document/selection.rb +122 -54
  16. data/lib/yapper/extensions.rb +12 -24
  17. data/lib/yapper/settings.rb +43 -0
  18. data/lib/yapper/timestamps.rb +2 -0
  19. data/lib/yapper/version.rb +1 -1
  20. data/{yapper.gemspec → motion-yapper.gemspec} +0 -0
  21. data/spec/integration/{where_spec.rb → criteria_spec.rb} +78 -10
  22. data/spec/integration/db_spec.rb +70 -0
  23. data/spec/integration/defaults_spec.rb +37 -0
  24. data/spec/integration/extensions_spec.rb +14 -0
  25. data/spec/integration/{persistance_spec.rb → persistence_spec.rb} +0 -0
  26. data/spec/integration/relation_spec.rb +4 -4
  27. data/vendor/Podfile.lock +9 -11
  28. data/vendor/Pods/.build/libPods-CocoaLumberjack.a +0 -0
  29. data/vendor/Pods/.build/libPods-NSData+MD5Digest.a +0 -0
  30. data/vendor/Pods/.build/libPods-YapDatabase.a +0 -0
  31. data/vendor/Pods/.build/libPods.a +0 -0
  32. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDASLLogger.h +4 -4
  33. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +14 -14
  34. data/vendor/Pods/{CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.h → BuildHeaders/CocoaLumberjack/DDContextFilterLogFormatter.h} +6 -8
  35. data/vendor/Pods/BuildHeaders/CocoaLumberjack/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
  36. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +67 -32
  37. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog+LOGV.h +99 -0
  38. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +98 -65
  39. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDMultiFormatter.h +30 -0
  40. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +39 -25
  41. data/vendor/Pods/BuildHeaders/YapDatabase/NSDictionary+YapDatabase.h +8 -0
  42. data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +1 -0
  43. data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +3 -0
  44. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +4 -4
  45. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +21 -19
  46. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +1 -1
  47. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +35 -31
  48. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +8 -35
  49. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -2
  50. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +17 -17
  51. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTypes.h +32 -0
  52. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +8 -0
  53. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +43 -21
  54. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationship.h +35 -0
  55. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipConnection.h +29 -0
  56. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdge.h +163 -0
  57. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdgePrivate.h +79 -0
  58. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipNode.h +99 -0
  59. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipOptions.h +59 -0
  60. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipPrivate.h +125 -0
  61. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipTransaction.h +384 -0
  62. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +49 -0
  63. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +10 -0
  64. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetupPrivate.h +18 -0
  65. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +131 -21
  66. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +48 -107
  67. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +2 -2
  68. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +1 -0
  69. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +17 -0
  70. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +10 -3
  71. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +18 -1
  72. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +75 -24
  73. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTypes.h +99 -0
  74. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +4 -4
  75. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +51 -50
  76. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +14 -14
  77. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +546 -546
  78. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +67 -32
  79. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +1093 -907
  80. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog+LOGV.h +99 -0
  81. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +98 -65
  82. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +873 -748
  83. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +39 -25
  84. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +1284 -1243
  85. data/vendor/Pods/{BuildHeaders/CocoaLumberjack/ContextFilterLogFormatter.h → CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.h} +6 -8
  86. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/{ContextFilterLogFormatter.m → DDContextFilterLogFormatter.m} +70 -70
  87. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
  88. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.m +253 -0
  89. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.h +30 -0
  90. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.m +127 -0
  91. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +1 -1
  92. data/vendor/Pods/CocoaLumberjack/README.markdown +52 -15
  93. data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +4 -4
  94. data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +14 -14
  95. data/vendor/Pods/Headers/CocoaLumberjack/{ContextFilterLogFormatter.h → DDContextFilterLogFormatter.h} +6 -8
  96. data/vendor/Pods/Headers/CocoaLumberjack/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
  97. data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +67 -32
  98. data/vendor/Pods/Headers/CocoaLumberjack/DDLog+LOGV.h +99 -0
  99. data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +98 -65
  100. data/vendor/Pods/Headers/CocoaLumberjack/DDMultiFormatter.h +30 -0
  101. data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +39 -25
  102. data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +3 -0
  103. data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +4 -4
  104. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +21 -19
  105. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +8 -35
  106. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +17 -17
  107. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTypes.h +32 -0
  108. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationship.h +35 -0
  109. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipConnection.h +29 -0
  110. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipEdge.h +163 -0
  111. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipNode.h +99 -0
  112. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipOptions.h +59 -0
  113. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipTransaction.h +384 -0
  114. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +49 -0
  115. data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +131 -21
  116. data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +48 -107
  117. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +2 -2
  118. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +1 -0
  119. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +17 -0
  120. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +10 -3
  121. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +75 -24
  122. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTypes.h +99 -0
  123. data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +2 -0
  124. data/vendor/Pods/Headers/____Pods-environment.h +15 -15
  125. data/vendor/Pods/Manifest.lock +9 -11
  126. data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +1 -1
  127. data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +2 -0
  128. data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +1 -1
  129. data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +1 -1
  130. data/vendor/Pods/{Pods-Acknowledgements.markdown → Pods-acknowledgements.markdown} +0 -37
  131. data/vendor/Pods/{Pods-Acknowledgements.plist → Pods-acknowledgements.plist} +0 -45
  132. data/vendor/Pods/Pods-environment.h +15 -15
  133. data/vendor/Pods/Pods.xcconfig +3 -3
  134. data/vendor/Pods/Pods.xcodeproj/project.pbxproj +2426 -3155
  135. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-CocoaLumberjack.xcscheme +59 -0
  136. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-NSData+MD5Digest.xcscheme +59 -0
  137. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-YapDatabase.xcscheme +59 -0
  138. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods.xcscheme +59 -0
  139. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/xcschememanagement.plist +31 -0
  140. data/vendor/Pods/YapDatabase/README.md +3 -1
  141. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +0 -2
  142. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +8 -35
  143. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +25 -41
  144. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +17 -17
  145. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +403 -134
  146. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.h +32 -0
  147. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +8 -0
  148. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +8 -8
  149. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +113 -62
  150. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +35 -31
  151. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +25 -0
  152. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +1 -1
  153. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +25 -1
  154. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h +79 -0
  155. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h +125 -0
  156. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h +35 -0
  157. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m +129 -0
  158. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h +29 -0
  159. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m +802 -0
  160. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h +163 -0
  161. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m +408 -0
  162. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h +99 -0
  163. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h +59 -0
  164. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m +29 -0
  165. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h +384 -0
  166. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m +5254 -0
  167. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +10 -0
  168. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexSetupPrivate.h +18 -0
  169. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +49 -0
  170. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +12 -0
  171. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +9 -8
  172. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +62 -1
  173. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +148 -45
  174. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +18 -1
  175. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +2 -2
  176. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +15 -9
  177. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +17 -0
  178. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +211 -64
  179. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +48 -107
  180. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +10 -7
  181. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +1 -0
  182. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +13 -22
  183. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +10 -3
  184. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +75 -24
  185. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +725 -244
  186. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.h +99 -0
  187. data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.h +8 -0
  188. data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.m +19 -0
  189. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +1 -0
  190. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +12 -0
  191. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +1 -1
  192. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +3 -3
  193. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +43 -21
  194. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +4 -0
  195. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +3 -0
  196. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +5 -0
  197. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +4 -4
  198. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +84 -93
  199. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +21 -19
  200. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +381 -209
  201. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +131 -21
  202. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +587 -267
  203. data/vendor/Pods/{Pods.bridgesupport → build-iPhoneSimulator/Pods.bridgesupport} +633 -2557
  204. data/vendor/Pods/build-iPhoneSimulator/libPods.a +0 -0
  205. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +2 -1
  206. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +2 -1
  207. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +4 -2
  208. metadata +80 -108
  209. data/Gemfile.lock +0 -63
  210. data/lib/yapper/attachment.rb +0 -48
  211. data/lib/yapper/document/attachment.rb +0 -26
  212. data/lib/yapper/sync.rb +0 -134
  213. data/lib/yapper/sync/data.rb +0 -12
  214. data/lib/yapper/sync/event.rb +0 -194
  215. data/lib/yapper/sync/queue.rb +0 -164
  216. data/spec/integration/all_spec.rb +0 -40
  217. data/spec/integration/sync_spec.rb +0 -42
  218. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.h +0 -641
  219. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.m +0 -1396
  220. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h +0 -133
  221. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m +0 -327
  222. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.h +0 -113
  223. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.m +0 -321
  224. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.h +0 -71
  225. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.m +0 -150
  226. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
  227. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m +0 -157
  228. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworking.h +0 -43
  229. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.h +0 -68
  230. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.m +0 -143
  231. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h +0 -370
  232. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m +0 -848
  233. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.h +0 -89
  234. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.m +0 -167
  235. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.h +0 -78
  236. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.m +0 -191
  237. data/vendor/Pods/AFNetworking/LICENSE +0 -19
  238. data/vendor/Pods/AFNetworking/README.md +0 -208
  239. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPClient.h +0 -641
  240. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPRequestOperation.h +0 -133
  241. data/vendor/Pods/BuildHeaders/AFNetworking/AFImageRequestOperation.h +0 -113
  242. data/vendor/Pods/BuildHeaders/AFNetworking/AFJSONRequestOperation.h +0 -71
  243. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
  244. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworking.h +0 -43
  245. data/vendor/Pods/BuildHeaders/AFNetworking/AFPropertyListRequestOperation.h +0 -68
  246. data/vendor/Pods/BuildHeaders/AFNetworking/AFURLConnectionOperation.h +0 -370
  247. data/vendor/Pods/BuildHeaders/AFNetworking/AFXMLRequestOperation.h +0 -89
  248. data/vendor/Pods/BuildHeaders/AFNetworking/UIImageView+AFNetworking.h +0 -78
  249. data/vendor/Pods/BuildHeaders/Reachability/Reachability.h +0 -109
  250. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.m +0 -251
  251. data/vendor/Pods/Headers/AFNetworking/AFHTTPClient.h +0 -641
  252. data/vendor/Pods/Headers/AFNetworking/AFHTTPRequestOperation.h +0 -133
  253. data/vendor/Pods/Headers/AFNetworking/AFImageRequestOperation.h +0 -113
  254. data/vendor/Pods/Headers/AFNetworking/AFJSONRequestOperation.h +0 -71
  255. data/vendor/Pods/Headers/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
  256. data/vendor/Pods/Headers/AFNetworking/AFNetworking.h +0 -43
  257. data/vendor/Pods/Headers/AFNetworking/AFPropertyListRequestOperation.h +0 -68
  258. data/vendor/Pods/Headers/AFNetworking/AFURLConnectionOperation.h +0 -370
  259. data/vendor/Pods/Headers/AFNetworking/AFXMLRequestOperation.h +0 -89
  260. data/vendor/Pods/Headers/AFNetworking/UIImageView+AFNetworking.h +0 -78
  261. data/vendor/Pods/Headers/Reachability/Reachability.h +0 -109
  262. data/vendor/Pods/Headers/YapDatabase/YapCache.h +0 -90
  263. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnectionState.h +0 -29
  264. data/vendor/Pods/Headers/YapDatabase/YapDatabaseDefaults.h +0 -37
  265. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionPrivate.h +0 -440
  266. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -19
  267. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchPrivate.h +0 -69
  268. data/vendor/Pods/Headers/YapDatabase/YapDatabaseLogging.h +0 -158
  269. data/vendor/Pods/Headers/YapDatabase/YapDatabaseManager.h +0 -17
  270. data/vendor/Pods/Headers/YapDatabase/YapDatabasePrivate.h +0 -424
  271. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +0 -73
  272. data/vendor/Pods/Headers/YapDatabase/YapDatabaseStatement.h +0 -13
  273. data/vendor/Pods/Headers/YapDatabase/YapDatabaseString.h +0 -121
  274. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChangePrivate.h +0 -94
  275. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappingsPrivate.h +0 -72
  276. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPage.h +0 -36
  277. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPageMetadata.h +0 -27
  278. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPrivate.h +0 -153
  279. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +0 -17
  280. data/vendor/Pods/Headers/YapDatabase/YapMemoryTable.h +0 -74
  281. data/vendor/Pods/Headers/YapDatabase/YapNull.h +0 -17
  282. data/vendor/Pods/Headers/YapDatabase/YapTouch.h +0 -15
  283. data/vendor/Pods/Headers/____Pods-AFNetworking-prefix.h +0 -17
  284. data/vendor/Pods/Headers/____Pods-Reachability-prefix.h +0 -5
  285. data/vendor/Pods/Pods-AFNetworking-Private.xcconfig +0 -5
  286. data/vendor/Pods/Pods-AFNetworking-dummy.m +0 -5
  287. data/vendor/Pods/Pods-AFNetworking-prefix.pch +0 -17
  288. data/vendor/Pods/Pods-AFNetworking.xcconfig +0 -1
  289. data/vendor/Pods/Pods-Reachability-Private.xcconfig +0 -5
  290. data/vendor/Pods/Pods-Reachability-dummy.m +0 -5
  291. data/vendor/Pods/Pods-Reachability-prefix.pch +0 -5
  292. data/vendor/Pods/Pods-Reachability.xcconfig +0 -1
  293. data/vendor/Pods/Reachability/LICENCE.txt +0 -24
  294. data/vendor/Pods/Reachability/README.md +0 -65
  295. data/vendor/Pods/Reachability/Reachability.h +0 -109
  296. data/vendor/Pods/Reachability/Reachability.m +0 -527
@@ -0,0 +1,125 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ #import "YapDatabase.h"
4
+ #import "YapDatabaseConnection.h"
5
+ #import "YapDatabaseTransaction.h"
6
+
7
+ #import "YapDatabaseRelationship.h"
8
+ #import "YapDatabaseRelationshipOptions.h"
9
+ #import "YapDatabaseRelationshipConnection.h"
10
+ #import "YapDatabaseRelationshipTransaction.h"
11
+
12
+ #import "YapDatabasePrivate.h"
13
+ #import "YapDatabaseExtensionPrivate.h"
14
+
15
+ /**
16
+ * This version number is stored in the yap2 table.
17
+ * If there is a major re-write to this class, then the version number will be incremented,
18
+ * and the class can automatically rebuild the table as needed.
19
+ **/
20
+ #define YAP_DATABASE_RELATIONSHIP_CLASS_VERSION 3
21
+
22
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
23
+ #pragma mark -
24
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
25
+
26
+ @interface YapDatabaseRelationship () {
27
+ @public
28
+
29
+ int version;
30
+ YapDatabaseRelationshipOptions *options;
31
+ }
32
+
33
+ - (NSString *)tableName;
34
+
35
+ /**
36
+ * The dispatch queue for performing file deletion operations.
37
+ * Note: This method is not thread-safe, as it expects to only be invoked from within a read-write transaction.
38
+ **/
39
+ - (dispatch_queue_t)fileManagerQueue;
40
+
41
+ @end
42
+
43
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
44
+ #pragma mark -
45
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
46
+
47
+ @interface YapDatabaseRelationshipOptions () {
48
+ @public
49
+
50
+ BOOL disableYapDatabaseRelationshipNodeProtocol;
51
+ NSSet *allowedCollections;
52
+ }
53
+
54
+ @end
55
+
56
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
57
+ #pragma mark -
58
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
59
+
60
+ @interface YapDatabaseRelationshipConnection () {
61
+ @public
62
+
63
+ __strong YapDatabaseRelationship *relationship;
64
+ __unsafe_unretained YapDatabaseConnection *databaseConnection;
65
+
66
+ NSMutableDictionary *protocolChanges; // key:(NSNumber *)srcRowidNumber, value:(NSMutableArray *)edges
67
+ NSMutableDictionary *manualChanges; // key:(NSString *)edgeName, value:(NSMutableArray *)edges
68
+
69
+ NSMutableSet *inserted; // contains:(NSNumber *)rowidNumber
70
+
71
+ NSMutableArray *deletedOrder; // contains:(NSNumber *)rowidNumber
72
+ NSMutableDictionary *deletedInfo; // key:(NSNumber *)rowidNumber, value:(YapCollectionKey *)collectionKey
73
+
74
+ NSMutableSet *filesToDelete;
75
+
76
+ // NSMutableSet *mutatedSomething;
77
+ }
78
+
79
+ - (id)initWithRelationship:(YapDatabaseRelationship *)relationship databaseConnection:(YapDatabaseConnection *)dbc;
80
+
81
+ - (void)postRollbackCleanup;
82
+ - (void)postCommitCleanup;
83
+
84
+ - (sqlite3_stmt *)findManualEdgeStatement;
85
+ - (sqlite3_stmt *)insertEdgeStatement;
86
+ - (sqlite3_stmt *)updateEdgeStatement;
87
+ - (sqlite3_stmt *)deleteEdgeStatement;
88
+ - (sqlite3_stmt *)deleteEdgesWithNodeStatement;
89
+ - (sqlite3_stmt *)enumerateAllDstFilePathStatement;
90
+ - (sqlite3_stmt *)enumerateForSrcStatement;
91
+ - (sqlite3_stmt *)enumerateForDstStatement;
92
+ - (sqlite3_stmt *)enumerateForSrcNameStatement;
93
+ - (sqlite3_stmt *)enumerateForDstNameStatement;
94
+ - (sqlite3_stmt *)enumerateForNameStatement;
95
+ - (sqlite3_stmt *)enumerateForSrcDstStatement;
96
+ - (sqlite3_stmt *)enumerateForSrcDstNameStatement;
97
+ - (sqlite3_stmt *)countForSrcNameExcludingDstStatement;
98
+ - (sqlite3_stmt *)countForDstNameExcludingSrcStatement;
99
+ - (sqlite3_stmt *)countForNameStatement;
100
+ - (sqlite3_stmt *)countForSrcStatement;
101
+ - (sqlite3_stmt *)countForSrcNameStatement;
102
+ - (sqlite3_stmt *)countForDstStatement;
103
+ - (sqlite3_stmt *)countForDstNameStatement;
104
+ - (sqlite3_stmt *)countForSrcDstStatement;
105
+ - (sqlite3_stmt *)countForSrcDstNameStatement;
106
+ - (sqlite3_stmt *)removeAllStatement;
107
+ - (sqlite3_stmt *)removeAllProtocolStatement;
108
+
109
+ @end
110
+
111
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
112
+ #pragma mark -
113
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
114
+
115
+ @interface YapDatabaseRelationshipTransaction () {
116
+ @protected
117
+
118
+ __unsafe_unretained YapDatabaseRelationshipConnection *relationshipConnection;
119
+ __unsafe_unretained YapDatabaseReadTransaction *databaseTransaction;
120
+ }
121
+
122
+ - (id)initWithRelationshipConnection:(YapDatabaseRelationshipConnection *)relationshipConnection
123
+ databaseTransaction:(YapDatabaseReadTransaction *)databaseTransaction;
124
+
125
+ @end
@@ -0,0 +1,384 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ #import "YapDatabaseExtensionTransaction.h"
4
+ #import "YapDatabaseRelationshipEdge.h"
5
+
6
+ /**
7
+ * Welcome to YapDatabase!
8
+ *
9
+ * The project page has a wealth of documentation if you have any questions.
10
+ * https://github.com/yaptv/YapDatabase
11
+ *
12
+ * If you're new to the project you may want to visit the wiki.
13
+ * https://github.com/yaptv/YapDatabase/wiki
14
+ *
15
+ * The YapDatabaseRelationship extension allow you to create relationships between objects,
16
+ * and configure automatic deletion rules.
17
+ *
18
+ * For tons of information about this extension, see the wiki article:
19
+ * https://github.com/yaptv/YapDatabase/wiki/Relationships
20
+ **/
21
+
22
+ @interface YapDatabaseRelationshipTransaction : YapDatabaseExtensionTransaction
23
+
24
+ #pragma mark Node Fetch
25
+
26
+ /**
27
+ * Shortcut for fetching the source object for the given edge.
28
+ * Equivalent to:
29
+ *
30
+ * [transaction objectForKey:edge.sourceKey inCollection:edge.sourceCollection];
31
+ **/
32
+ - (id)sourceNodeForEdge:(YapDatabaseRelationshipEdge *)edge;
33
+
34
+ /**
35
+ * Shortcut for fetching the destination object for the given edge.
36
+ * Equivalent to:
37
+ *
38
+ * [transaction objectForKey:edge.destinationKey inCollection:edge.destinationCollection];
39
+ **/
40
+ - (id)destinationNodeForEdge:(YapDatabaseRelationshipEdge *)edge;
41
+
42
+ #pragma mark Enumerate
43
+
44
+ /**
45
+ * Enumerates every edge in the graph with the given name.
46
+ *
47
+ * @param name
48
+ * The name of the edge (case sensitive).
49
+ **/
50
+ - (void)enumerateEdgesWithName:(NSString *)name
51
+ usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
52
+
53
+ /**
54
+ * Enumerates every edge that matches any parameters you specify.
55
+ * You can specify any combination of the following:
56
+ *
57
+ * - name only
58
+ * - sourceKey & sourceCollection only
59
+ * - name + sourceKey & sourceCollection
60
+ *
61
+ * @param name (optional)
62
+ * The name of the edge (case sensitive).
63
+ *
64
+ * @param sourceKey (optional)
65
+ * The edge.sourceKey to match.
66
+ *
67
+ * @param sourceCollection (optional)
68
+ * The edge.sourceCollection to match.
69
+ *
70
+ * If you pass a non-nil sourceKey, and sourceCollection is nil,
71
+ * then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
72
+ **/
73
+ - (void)enumerateEdgesWithName:(NSString *)name
74
+ sourceKey:(NSString *)sourceKey
75
+ collection:(NSString *)sourceCollection
76
+ usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
77
+
78
+ /**
79
+ * Enumerates every edge that matches any parameters you specify.
80
+ * You can specify any combination of the following:
81
+ *
82
+ * - name only
83
+ * - destinationKey & destinationCollection only
84
+ * - name + destinationKey & destinationCollection
85
+ *
86
+ * @param name (optional)
87
+ * The name of the edge (case sensitive).
88
+ *
89
+ * @param destinationKey (optional)
90
+ * The edge.destinationKey to match.
91
+ *
92
+ * @param destinationCollection (optional)
93
+ * The edge.destinationCollection to match.
94
+ *
95
+ * If you pass a non-nil destinationKey, and destinationCollection is nil,
96
+ * then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
97
+ **/
98
+ - (void)enumerateEdgesWithName:(NSString *)name
99
+ destinationKey:(NSString *)destinationKey
100
+ collection:(NSString *)destinationCollection
101
+ usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
102
+
103
+ /**
104
+ * Enumerates every edge that matches any parameters you specify.
105
+ * You can specify any combination of the following:
106
+ *
107
+ * - name only
108
+ * - destinationFilePath
109
+ * - name + destinationFilePath
110
+ *
111
+ * @param name (optional)
112
+ * The name of the edge (case sensitive).
113
+ *
114
+ * @param destinationFilePath (optional)
115
+ * The edge.destinationFilePath to match.
116
+ **/
117
+ - (void)enumerateEdgesWithName:(NSString *)name
118
+ destinationFilePath:(NSString *)destinationFilePath
119
+ usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
120
+
121
+ /**
122
+ * Enumerates every edge that matches any parameters you specify.
123
+ * You can specify any combination of the following:
124
+ *
125
+ * - name only
126
+ * - sourceKey & sourceCollection only
127
+ * - destinationKey & destinationCollection only
128
+ * - name + sourceKey & sourceCollection
129
+ * - name + destinationKey & destinationCollection
130
+ * - name + sourceKey & sourceCollection + destinationKey & destinationCollection
131
+ *
132
+ * @param name (optional)
133
+ * The name of the edge (case sensitive).
134
+ *
135
+ * @param sourceKey (optional)
136
+ * The edge.sourceKey to match.
137
+ *
138
+ * @param sourceCollection (optional)
139
+ * The edge.sourceCollection to match.
140
+ *
141
+ * @param destinationKey (optional)
142
+ * The edge.destinationKey to match.
143
+ *
144
+ * @param destinationCollection (optional)
145
+ * The edge.destinationCollection to match.
146
+ *
147
+ * If you pass a non-nil sourceKey, and sourceCollection is nil,
148
+ * then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
149
+ *
150
+ * If you pass a non-nil destinationKey, and destinationCollection is nil,
151
+ * then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
152
+ **/
153
+ - (void)enumerateEdgesWithName:(NSString *)name
154
+ sourceKey:(NSString *)sourceKey
155
+ collection:(NSString *)sourceCollection
156
+ destinationKey:(NSString *)destinationKey
157
+ collection:(NSString *)destinationCollection
158
+ usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
159
+
160
+ /**
161
+ * Enumerates every edge that matches any parameters you specify.
162
+ * You can specify any combination of the following:
163
+ *
164
+ * - name only
165
+ * - sourceKey & sourceCollection only
166
+ * - destinationKey & destinationCollection only
167
+ * - name + sourceKey & sourceCollection
168
+ * - name + destinationKey & destinationCollection
169
+ * - name + sourceKey & sourceCollection + destinationKey & destinationCollection
170
+ *
171
+ * @param name (optional)
172
+ * The name of the edge (case sensitive).
173
+ *
174
+ * @param sourceKey (optional)
175
+ * The edge.sourceKey to match.
176
+ *
177
+ * @param sourceCollection (optional)
178
+ * The edge.sourceCollection to match.
179
+ *
180
+ * @param destinationFilePath (optional)
181
+ * The edge.destinationFilePath to match.
182
+ *
183
+ * If you pass a non-nil sourceKey, and sourceCollection is nil,
184
+ * then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
185
+ **/
186
+ - (void)enumerateEdgesWithName:(NSString *)name
187
+ sourceKey:(NSString *)sourceKey
188
+ collection:(NSString *)sourceCollection
189
+ destinationFilePath:(NSString *)destinationFilePath
190
+ usingBlock:(void (^)(YapDatabaseRelationshipEdge *edge, BOOL *stop))block;
191
+
192
+ #pragma mark Count
193
+
194
+ /**
195
+ * Returns a count of every edge in the graph with the given name.
196
+ *
197
+ * @param name
198
+ * The name of the edge (case sensitive).
199
+ **/
200
+ - (NSUInteger)edgeCountWithName:(NSString *)name;
201
+
202
+ /**
203
+ * Returns a count of every edge that matches any parameters you specify.
204
+ * You can specify any combination of the following:
205
+ *
206
+ * - name only
207
+ * - sourceKey & sourceCollection only
208
+ * - name + sourceKey & sourceCollection
209
+ *
210
+ * @param name (optional)
211
+ * The name of the edge (case sensitive).
212
+ *
213
+ * @param sourceKey (optional)
214
+ * The edge.sourceKey to match.
215
+ *
216
+ * @param sourceCollection (optional)
217
+ * The edge.sourceCollection to match.
218
+ *
219
+ * If you pass a non-nil sourceKey, and sourceCollection is nil,
220
+ * then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
221
+ **/
222
+ - (NSUInteger)edgeCountWithName:(NSString *)name
223
+ sourceKey:(NSString *)sourceKey
224
+ collection:(NSString *)sourceCollection;
225
+
226
+ /**
227
+ * Returns a count of every edge that matches any parameters you specify.
228
+ * You can specify any combination of the following:
229
+ *
230
+ * - name only
231
+ * - destinationKey & destinationCollection only
232
+ * - name + destinationKey & destinationCollection
233
+ *
234
+ * @param name (optional)
235
+ * The name of the edge (case sensitive).
236
+ *
237
+ * @param destinationKey (optional)
238
+ * The edge.destinationKey to match.
239
+ *
240
+ * @param destinationCollection (optional)
241
+ * The edge.destinationCollection to match.
242
+ *
243
+ * If you pass a non-nil destinationKey, and destinationCollection is nil,
244
+ * then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
245
+ **/
246
+ - (NSUInteger)edgeCountWithName:(NSString *)name
247
+ destinationKey:(NSString *)destinationKey
248
+ collection:(NSString *)destinationCollection;
249
+
250
+ /**
251
+ * Returns a count of every edge that matches any parameters you specify.
252
+ * You can specify any combination of the following:
253
+ *
254
+ * - name only
255
+ * - destinationFilePath
256
+ * - name + destinationFilePath
257
+ *
258
+ * @param name (optional)
259
+ * The name of the edge (case sensitive).
260
+ *
261
+ * @param destinationFilePath (optional)
262
+ * The edge.destinationFilePath to match.
263
+ **/
264
+ - (NSUInteger)edgeCountWithName:(NSString *)name
265
+ destinationFilePath:(NSString *)destinationFilePath;
266
+
267
+ /**
268
+ * Returns a count of every edge that matches any parameters you specify.
269
+ * You can specify any combination of the following:
270
+ *
271
+ * - name only
272
+ * - sourceKey & sourceCollection only
273
+ * - destinationKey & destinationCollection only
274
+ * - name + sourceKey & sourceCollection
275
+ * - name + destinationKey & destinationCollection
276
+ * - name + sourceKey & sourceCollection + destinationKey & destinationCollection
277
+ *
278
+ * @param name (optional)
279
+ * The name of the edge (case sensitive).
280
+ *
281
+ * @param sourceKey (optional)
282
+ * The edge.sourceKey to match.
283
+ *
284
+ * @param sourceCollection (optional)
285
+ * The edge.sourceCollection to match.
286
+ *
287
+ * @param destinationKey (optional)
288
+ * The edge.destinationKey to match.
289
+ *
290
+ * @param destinationCollection (optional)
291
+ * The edge.destinationCollection to match.
292
+ *
293
+ * If you pass a non-nil sourceKey, and sourceCollection is nil,
294
+ * then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
295
+ *
296
+ * If you pass a non-nil destinationKey, and destinationCollection is nil,
297
+ * then the destinationCollection is treated as the empty string, just like the rest of the YapDatabase framework.
298
+ **/
299
+ - (NSUInteger)edgeCountWithName:(NSString *)name
300
+ sourceKey:(NSString *)sourceKey
301
+ collection:(NSString *)sourceCollection
302
+ destinationKey:(NSString *)destinationKey
303
+ collection:(NSString *)destinationCollection;
304
+
305
+ /**
306
+ * Returns a count of every edge that matches any parameters you specify.
307
+ * You can specify any combination of the following:
308
+ *
309
+ * - name only
310
+ * - sourceKey & sourceCollection only
311
+ * - destinationFilePath
312
+ * - name + sourceKey & sourceCollection
313
+ * - name + destinationFilePath
314
+ * - name + sourceKey & sourceCollection + destinationFilePath
315
+ *
316
+ * @param name (optional)
317
+ * The name of the edge (case sensitive).
318
+ *
319
+ * @param sourceKey (optional)
320
+ * The edge.sourceKey to match.
321
+ *
322
+ * @param sourceCollection (optional)
323
+ * The edge.sourceCollection to match.
324
+ *
325
+ * @param destinationFilePath (optional)
326
+ * The edge.destinationFilePath to match.
327
+ *
328
+ * If you pass a non-nil sourceKey, and sourceCollection is nil,
329
+ * then the sourceCollection is treated as the empty string, just like the rest of the YapDatabase framework.
330
+ **/
331
+ - (NSUInteger)edgeCountWithName:(NSString *)name
332
+ sourceKey:(NSString *)sourceKey
333
+ collection:(NSString *)sourceCollection
334
+ destinationFilePath:(NSString *)destinationFilePath;
335
+
336
+ @end
337
+
338
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
339
+ #pragma mark -
340
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
341
+
342
+ @interface YapDatabaseRelationshipTransaction (ReadWrite)
343
+
344
+ #pragma mark Manual Edge Management
345
+
346
+ /**
347
+ * There are 2 ways to manage edges (add/remove) using the YapDatabaseRelationship extension:
348
+ *
349
+ * - Manual edge management (via the methods below)
350
+ * - Implement the YapDatabaseRelationshipNode protocol for some of your objects
351
+ *
352
+ * For more information, see the wiki section "Edge Creation":
353
+ *
354
+ * https://github.com/yaptv/YapDatabase/wiki/Relationships#wiki-edge_creation
355
+ **/
356
+
357
+ /**
358
+ * The addEdge: method will add the manual edge (if it doesn't already exist).
359
+ * Otherwise it will replace the the existing manual edge with the same name & srcKey/collection & dstKey/collection.
360
+ **/
361
+ - (void)addEdge:(YapDatabaseRelationshipEdge *)edge;
362
+
363
+ - (void)removeEdge:(YapDatabaseRelationshipEdge *)edge;
364
+
365
+ #pragma mark Force Processing
366
+
367
+ /**
368
+ * The extension automatically processes all changes to the graph at the end of a readwrite transaction.
369
+ * This allows it to consolidate multiple changes into a single batch,
370
+ * and also minimizes the impact of cascading delete rules, especially in the case where you'll be deleting
371
+ * many of the objects manually at some later point within the transaction block.
372
+ *
373
+ * However, there may be certain use cases where it is preferable to have the extension execute its rules in advance.
374
+ * I'm struggling to come up with a really good example, so this semi-convoluted one will have to do:
375
+ *
376
+ * You have a parent object, with a bunch of child objects that have edges to the parent.
377
+ * You need to replace the parent, and for whatever reason the new parent has the same collection/key.
378
+ * So instead of doing a setObject:forKey:inCollection:, you first delete the original parent.
379
+ * At that point you can invoke this flush method, and it will properly delete any child objects.
380
+ * Then you can safely set the new parent, knowing it won't accidentally inherit any children from the old parent.
381
+ **/
382
+ - (void)flush;
383
+
384
+ @end