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
@@ -1,48 +0,0 @@
1
- motion_require 'document.rb'
2
- motion_require 'sync.rb'
3
-
4
- class Yapper::Attachment
5
- include Yapper::Document
6
- include Yapper::Sync
7
-
8
- sync
9
-
10
- class_attribute :attachments
11
- self.attachments = {}.with_indifferent_access
12
-
13
- field :name
14
- field :uid
15
- field :additional_fields
16
-
17
- def self.create(name, fields={})
18
- name = name.pluralize
19
- raise "#{name} attachment not a defined" unless attachments[name]
20
- fields.keys.each do |field|
21
- raise "Attachment field #{field} not defined for #{name}" unless attachments[name][:with].include?(field)
22
- end
23
-
24
- attachment = self.new
25
- attachment.name = name
26
- attachment.additional_fields = fields
27
- attachment.save
28
-
29
- attachment
30
- end
31
-
32
- def self.url(uid, size=nil)
33
- options = "[[\"f\",\"#{uid}\"]"
34
- options << ",[\"p\",\"thumb\", \"#{size}\"]" if size
35
- options << "]"
36
- path = [options].pack("m").tr("\n=",'')
37
-
38
- NSURL.URLWithString("#{Yapper::Sync.base_url}/#{path}.jpg")
39
- end
40
-
41
- def data
42
- self.attachments[name][:block].call(self)
43
- end
44
-
45
- def metadata
46
- self.additional_fields.merge(:id => self.id, :name => self.name).with_indifferent_access
47
- end
48
- end
@@ -1,26 +0,0 @@
1
- module Yapper::Document
2
- module Attachment
3
- extend MotionSupport::Concern
4
-
5
- included do
6
- field(:_attachments)
7
- end
8
-
9
- def attach(name, attachments)
10
- raise "Attachment #{name} not defined on #{self.class}" unless Yapper::Attachment.attachments[name]
11
-
12
- self._attachments ||= {}
13
- self._attachments[name.to_s] = attachments.collect(&:id)
14
- end
15
-
16
- module ClassMethods
17
- def attach(name, options={}, &block)
18
-
19
- options[:block] = block
20
-
21
- field(name)
22
- Yapper::Attachment.attachments[name] = options
23
- end
24
- end
25
- end
26
- end
@@ -1,134 +0,0 @@
1
- motion_require 'extensions'
2
- motion_require 'timestamps'
3
-
4
- module Yapper::Sync
5
- motion_require 'sync/data'
6
- motion_require 'sync/event'
7
-
8
- extend MotionSupport::Concern
9
-
10
- included do
11
- field :_synced_at
12
-
13
- unless self.ancestors.include?(Yapper::Timestamps)
14
- include Yapper::Timestamps
15
- end
16
-
17
- cattr_accessor :always
18
-
19
- class << self
20
- attr_accessor :attachments
21
- end
22
- self.attachments = {}
23
- end
24
-
25
- class << self
26
- attr_accessor :base_url
27
- attr_accessor :data_path
28
- attr_accessor :attachment_path
29
- attr_accessor :access_token
30
- attr_accessor :max_failure_count
31
- end
32
- self.data_path = '/api/data'
33
- self.attachment_path = '/api/attachment'
34
-
35
- def self.configure(options)
36
- self.access_token = options[:access_token]
37
- self.max_failure_count = options[:max_failure_count] || 100
38
- end
39
-
40
- def self.sync
41
- Queue.sync
42
- end
43
-
44
- def self.disabled(&block)
45
- previous_value = Thread.current[:sync_disabled]
46
- Thread.current[:sync_disabled] = true
47
- yield
48
- Thread.current[:sync_disabled] = previous_value
49
- end
50
-
51
- module ClassMethods
52
- def sync(options={})
53
- self.always = options[:always] || []
54
- end
55
-
56
- def attachment(name, options, &block)
57
- raise ArgumentError unless options[:on] # XXX Use a consistent approach to checking hash params
58
-
59
- self.attachments[name] = block
60
- field(options[:on])
61
- end
62
- end
63
-
64
- def sync_as
65
- attrs = self.changes.deep_dup
66
- attrs = attrs.deep_delete_if { |k,v| k.to_s =~ /^_/ }
67
- attrs
68
- end
69
-
70
- def synced?
71
- !self._synced_at.nil?
72
- end
73
-
74
- def sync_paused?
75
- Queue.paused?
76
- end
77
-
78
- def sync
79
- @config ||= Config.new(self)
80
- end
81
-
82
- def sync_op
83
- self.was_new? ? :create : :update
84
- end
85
-
86
- private
87
-
88
- def perform_sync(changes)
89
- Queue.process(self.class, self.id, self.sync_op, changes) unless changes.empty?
90
- end
91
-
92
- def sync_changes
93
- perform_sync(self.previous_changes.merge(always_attributes)) unless Thread.current[:sync_disabled]
94
- end
95
-
96
- def always_attributes
97
- {}.tap do |attrs|
98
- self.always.each { |field| attrs[field] = self.send(field) }
99
- end
100
- end
101
-
102
- class Config
103
- def initialize(instance)
104
- @instance = instance
105
- @root = if parent
106
- instance.send(parent)
107
- else
108
- instance
109
- end
110
- end
111
-
112
- def id
113
- @root.id
114
- end
115
-
116
- def model
117
- @root.model_name.capitalize
118
- end
119
-
120
- def delta
121
- delta = @root.sync_as
122
- unless @root == @instance
123
- delta.merge!(@instance.model_name.pluralize => [@instance.sync_as.merge(:id => @instance.id)])
124
- end
125
- delta
126
- end
127
-
128
- private
129
-
130
- def parent
131
- @instance.class.relations[:belongs_to].find { |r| r.find { |k,v| v[:embedded] } }.try(:keys).try(:first)
132
- end
133
- end
134
- end
@@ -1,12 +0,0 @@
1
- module Yapper::Sync
2
- class Attachment
3
- attr_accessor :data
4
- attr_accessor :name
5
- attr_accessor :fileName
6
- attr_accessor :mimeType
7
-
8
- def initialize(params)
9
- params.each { |k,v| self.send("#{k}=", v) }
10
- end
11
- end
12
- end
@@ -1,194 +0,0 @@
1
- module Yapper::Sync
2
- module Event
3
- extend self
4
-
5
- def attach(attachment)
6
- params = {
7
- :attachment => attachment.metadata
8
- }
9
- request = http_client.multipartFormRequestWithMethod(
10
- 'POST',
11
- path: Yapper::Sync.attachment_path,
12
- parameters: params.as_json,
13
- constructingBodyWithBlock: lambda { |form_data|
14
- form_data.appendPartWithFileData(UIImageJPEGRepresentation(attachment.data, 0.8),
15
- name: "attachment[data]",
16
- fileName: attachment.name,
17
- mimeType: 'image/jpg')
18
- })
19
-
20
- if process(request)
21
- Yapper::Log.info "[Yapper::Sync::Event][ATTACHMENT][#{attachment.id}]"
22
- :success
23
- else
24
- :failure
25
- end
26
- end
27
-
28
- def create(instance, type)
29
- params = {
30
- :event => {
31
- :model => instance.sync.model,
32
- :model_id => instance.sync.id,
33
- :type => type,
34
- :delta => instance.sync.delta
35
- }
36
- }
37
- if instance._attachments
38
- params.merge!(:attachments => instance._attachments)
39
- end
40
-
41
- request = http_client.requestWithMethod(
42
- 'POST',
43
- :path => Yapper::Sync.data_path,
44
- :parameters => params.as_json)
45
-
46
- if operation = process(request)
47
- attrs = operation.responseJSON.deep_dup
48
- Yapper::Log.info "[Yapper::Sync::Event][POST][#{instance.model_name}] #{attrs}"
49
-
50
- new_attrs = {}
51
- attrs.each do |k, v|
52
- new_attrs[k] = v if instance.respond_to?(k) && instance.send(k).nil?
53
- end
54
- Yapper::Sync.disabled { instance.reload.update_attributes(new_attrs) }
55
- :success
56
- else
57
- :failure
58
- end
59
- rescue Exception => e
60
- if e.is_a?(NSException)
61
- Yapper::Log.error "[Yapper::Sync][CRITICAL][#{instance.model_name}] #{e.reason}: #{e.callStackSymbols}"
62
- else
63
- Yapper::Log.error "[Yapper::Sync][CRITICAL][#{instance.model_name}] #{e.message}: #{e.backtrace.join('::')}"
64
- end
65
- :critical
66
- end
67
-
68
- def get
69
- request = http_client.requestWithMethod(
70
- 'GET',
71
- path: Yapper::Sync.data_path,
72
- parameters: { :since => Yapper::Config.get(:last_event_id) }
73
- )
74
-
75
- instances = []
76
- begin
77
- if operation = process(request)
78
- events = compact(operation.responseJSON)
79
- return events if events.empty?
80
-
81
- if events.first['model'] == 'User'
82
- instances << handle(events.shift)
83
- end
84
-
85
- events.each do |event|
86
- Yapper::DB.instance.execute do |txn|
87
- instances << handle(event)
88
- Yapper::Config.set(:last_event_id, event['created_at'])
89
- end
90
- end
91
- end
92
- rescue Exception => e
93
- Yapper::Log.error "[Yapper::Sync::Event][FAILURE] #{e.message}: #{e.backtrace.join('::')}"
94
- end
95
-
96
- instances.compact
97
- end
98
-
99
- private
100
-
101
- def handle(event)
102
- Yapper::Log.info "[Yapper::Sync::Event][GET][#{event['type']}][#{event['model']}] #{event['delta']}"
103
-
104
- model = Object.qualified_const_get(event['model'])
105
- instance = nil
106
- if event['type'] == 'create'
107
- instance = model.new(event['delta']) # XXX shouldn't need to pass in delta
108
- else
109
- instance = model.find(event['model_id'])
110
- end
111
-
112
- if instance
113
- # XXX Return array of updates vs. overwriting entire object
114
- Yapper::Sync.disabled { instance.update_attributes(event['delta']) }
115
- else
116
- Yapper::Log.error "Model instance not found!. This is not good!"
117
- end
118
-
119
- instance
120
- end
121
-
122
- def compact(events)
123
- event_lookup = {}; compact_events = []
124
- events.each_with_index do |event, i|
125
- case event['type']
126
- when 'create'
127
- event_lookup[event['model_id']] = compact_events.count
128
- compact_events << event
129
- when 'update'
130
- if index = event_lookup[event['model_id']]
131
- create_event = compact_events[index].dup
132
- create_event['delta'] = recursive_merge(create_event['delta'], event['delta'])
133
- compact_events[index] = create_event
134
- else
135
- compact_events << event
136
- end
137
- else
138
- raise "Only 'update' AND 'create' supported"
139
- end
140
- end
141
- compact_events
142
- end
143
-
144
- def http_client
145
- @http_client ||= begin
146
- client = AFHTTPClient.alloc.initWithBaseURL(NSURL.URLWithString(Yapper::Sync.base_url))
147
- client.setParameterEncoding(AFJSONParameterEncoding)
148
- client
149
- end
150
- @http_client.setAuthorizationHeaderWithToken(Yapper::Sync.access_token.call)
151
- @http_client.setDefaultHeader('DEVICEID', value: UIDevice.currentDevice.identifierForVendor.UUIDString)
152
- end
153
-
154
- def process(request)
155
- operation = AFJSONRequestOperation.alloc.initWithRequest(request)
156
-
157
- operation.start
158
- operation.waitUntilFinished
159
-
160
- if operation.response && operation.response.statusCode >= 200 && operation.response.statusCode < 300
161
- operation
162
- else
163
- Yapper::Log.error "[Yapper::Sync::Event][FAILURE] #{operation.error.localizedDescription}"
164
- false
165
- end
166
- end
167
-
168
- def recursive_merge(h1, h2)
169
- return h1 unless h1.is_a?(Array) || h1.is_a?(Hash)
170
-
171
- result = h1.dup; h2 = h2.dup
172
- h2.each_pair do |k,v|
173
- tv = h1[k]
174
- if tv.is_a?(Hash) && v.is_a?(Hash)
175
- result[k] = recursive_merge(tv, v)
176
- elsif tv.is_a?(Array) && v.is_a?(Array)
177
- v = v.dup
178
- result[k] = tv.map do |_tv|
179
- if match = v.find { |_v| _tv.is_a?(Hash) && _v.is_a?(Hash) && _tv['id'] == _v['id'] }
180
- v.delete(match)
181
- recursive_merge(_tv, match)
182
- else
183
- _tv
184
- end
185
- end
186
- result[k] += v
187
- else
188
- result[k] = v
189
- end
190
- end
191
- result
192
- end
193
- end
194
- end
@@ -1,164 +0,0 @@
1
- motion_require '../document.rb'
2
-
3
- module Yapper::Sync
4
- class Queue
5
- include Yapper::Document
6
-
7
- field :sync_class
8
- field :sync_id
9
- field :sync_changes
10
- field :sync_type
11
- field :created_at, :type => Time
12
- field :failure_count
13
-
14
- index :created_at
15
-
16
- @@mutex = Mutex.new
17
- @@notify_count = 0
18
-
19
- @@queue = NSOperationQueue.alloc.init
20
- @@queue.name = "#{NSBundle.mainBundle.bundleIdentifier}.yapper.sync"
21
- @@queue.MaxConcurrentOperationCount = 1
22
- @@queue.setSuspended(true)
23
-
24
- @@reachability ||= begin
25
- reachability = Reachability.reachabilityForInternetConnection
26
- reachability.reachableBlock = lambda { |reachable| self.toggle_queue }
27
- reachability.unreachableBlock = lambda { |reachable| self.toggle_queue }
28
- reachability.reachableOnWWAN = true
29
- reachability.startNotifier
30
- reachability
31
- end
32
-
33
- NSNotificationCenter.defaultCenter.addObserver(self,
34
- selector: 'onBackground',
35
- name: UIApplicationDidEnterBackgroundNotification,
36
- object: nil)
37
-
38
-
39
- def self.start
40
- operation = NSBlockOperation.blockOperationWithBlock lambda {
41
- job_started
42
- jobs = self.where({}, :order => { :created_at => :asc })
43
- Yapper::Log.info "[Yapper::Sync][START] Processing #{jobs.count} jobs"
44
- jobs.each { |job| handle(job) }
45
- @@queue.setSuspended(!@@reachability.isReachable)
46
- job_ended
47
- }
48
- self.toggle_queue
49
- @@queue.addOperation(operation)
50
- end
51
-
52
- def self.onBackground
53
- @@background_task = UIApplication.sharedApplication.beginBackgroundTaskWithExpirationHandler(nil)
54
- operation = NSBlockOperation.blockOperationWithBlock lambda {
55
- UIApplication.sharedApplication.endBackgroundTask(@@background_task) unless @@background_task == UIBackgroundTaskInvalid
56
- @@background_task = UIBackgroundTaskInvalid
57
- }
58
- @@queue.addOperation(operation)
59
- end
60
-
61
- def self.paused?
62
- @@queue.isSuspended
63
- end
64
-
65
- def self.sync
66
- return false if self.paused?
67
-
68
- operation = NSBlockOperation.blockOperationWithBlock lambda {
69
- job_started
70
- Yapper::Sync::Event.get.each { |instance| self.notification(instance, 'success') }
71
- job_ended
72
- }
73
- @@queue.addOperation(operation)
74
-
75
- true
76
- end
77
-
78
- def self.process(klass, id, type, changes)
79
- instance = klass.find(id)
80
- self.notification(instance, 'start')
81
-
82
- job = self.create(:sync_class => instance.class.to_s,
83
- :sync_id => instance.id,
84
- :sync_changes => changes,
85
- :sync_type => type.to_s,
86
- :created_at => Time.now.utc,
87
- :failure_count => 0)
88
- handle(job)
89
- end
90
-
91
- def self.handle(job)
92
- operation = NSBlockOperation.blockOperationWithBlock lambda {
93
- job_started
94
- instance = Object.qualified_const_get(job.sync_class).find(job.sync_id)
95
- instance.changes = job.sync_changes
96
- job.attempt(instance, job.sync_type)
97
- job_ended
98
- }
99
- self.toggle_queue
100
-
101
- @@queue.addOperation(operation)
102
- nil
103
- end
104
-
105
- def attempt(instance, type)
106
- case event(instance, type)
107
- when :success
108
- Yapper::Sync.disabled { instance.update_attributes(:_synced_at => Time.now) }
109
- self.destroy
110
- self.class.notification(instance, 'success')
111
- when :failure
112
- if self.failure_count < Yapper::Sync.max_failure_count
113
- sleep 2 ** (self.failure_count)
114
- self.failure_count += 1
115
- self.save
116
- attempt(instance, type)
117
- self.class.notification(instance, 'retry')
118
- else
119
- Yapper::Log.error "[Yapper::Queue][CRITICAL] Job #{self.sync_class}:#{self.sync_id} exceeded failure threshold and has been removed"
120
- self.destroy
121
- self.class.notification(instance, 'failure')
122
- end
123
- when :critical
124
- self.destroy
125
- self.class.notification(instance, 'failure')
126
- end
127
- end
128
-
129
- private
130
-
131
- def event(instance, type)
132
- if instance.is_a?(Yapper::Attachment)
133
- Yapper::Sync::Event.attach(instance)
134
- else
135
- Yapper::Sync::Event.create(instance, type)
136
- end
137
- end
138
-
139
- def self.toggle_queue
140
- was_paused = self.paused?
141
- @@queue.setSuspended(!@@reachability.isReachable)
142
- if was_paused != self.paused?
143
- NSNotificationCenter.defaultCenter.postNotificationName("yapper:sync:paused", object: true, userInfo: nil) if self.paused?
144
- end
145
- end
146
-
147
- def self.notification(instance, type)
148
- NSNotificationCenter.defaultCenter.postNotificationName("yapper:#{instance.model_name}:sync:#{type}", object: instance , userInfo: nil)
149
- end
150
-
151
- def self.job_started
152
- if @@queue.operationCount == 1
153
- @@job_started_at = Time.now
154
- NSNotificationCenter.defaultCenter.postNotificationName("yapper:sync:start", object: true , userInfo: nil)
155
- end
156
- end
157
-
158
- def self.job_ended
159
- if @@queue.operationCount == 1
160
- NSNotificationCenter.defaultCenter.postNotificationName("yapper:sync:end", object: Time.now - @@job_started_at , userInfo: nil)
161
- end
162
- end
163
- end
164
- end