pubnub 3.7.12 → 3.8.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pubnub might be problematic. Click here for more details.

Files changed (2036) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +15 -0
  3. data/.rubocop.yml +16 -0
  4. data/.travis.yml +16 -3
  5. data/.yardoc/checksums +43 -0
  6. data/.yardoc/object_types +0 -0
  7. data/.yardoc/objects/root.dat +0 -0
  8. data/.yardoc/proxy_types +0 -0
  9. data/.yardopts +2 -0
  10. data/CHANGELOG.md +2 -0
  11. data/Gemfile +10 -6
  12. data/Gemfile.lock +105 -25
  13. data/LICENSE.txt +2 -0
  14. data/README.md +131 -204
  15. data/Rakefile +0 -1
  16. data/VERSION +1 -1
  17. data/doc/Object.html +287 -0
  18. data/doc/Pubnub.html +367 -0
  19. data/doc/Pubnub/ArgumentError.html +147 -0
  20. data/doc/Pubnub/Audit.html +256 -0
  21. data/doc/Pubnub/ChannelRegistration.html +245 -0
  22. data/doc/Pubnub/Client.html +1145 -0
  23. data/doc/Pubnub/Client/Connections.html +211 -0
  24. data/doc/Pubnub/Client/Events.html +132 -0
  25. data/doc/Pubnub/Client/PagedHistory.html +264 -0
  26. data/doc/Pubnub/Configuration.html +221 -0
  27. data/doc/Pubnub/Crypto.html +364 -0
  28. data/doc/Pubnub/Envelope.html +1962 -0
  29. data/doc/Pubnub/Error.html +386 -0
  30. data/doc/Pubnub/ErrorEnvelope.html +312 -0
  31. data/doc/Pubnub/Event.html +1163 -0
  32. data/doc/Pubnub/Formatter.html +868 -0
  33. data/doc/Pubnub/Grant.html +258 -0
  34. data/doc/Pubnub/Heart.html +355 -0
  35. data/doc/Pubnub/Heartbeat.html +254 -0
  36. data/doc/Pubnub/HereNow.html +245 -0
  37. data/doc/Pubnub/History.html +243 -0
  38. data/doc/Pubnub/InitializationError.html +147 -0
  39. data/doc/Pubnub/JSONParseError.html +147 -0
  40. data/doc/Pubnub/Leave.html +305 -0
  41. data/doc/Pubnub/Message.html +125 -0
  42. data/doc/Pubnub/Message/AddSubscription.html +298 -0
  43. data/doc/Pubnub/Message/Done.html +298 -0
  44. data/doc/Pubnub/Message/InternalMessage.html +124 -0
  45. data/doc/Pubnub/Message/RemoveSubscription.html +298 -0
  46. data/doc/Pubnub/Message/Stop.html +298 -0
  47. data/doc/Pubnub/OriginManager.html +583 -0
  48. data/doc/Pubnub/PAM.html +642 -0
  49. data/doc/Pubnub/Presence.html +353 -0
  50. data/doc/Pubnub/Publish.html +243 -0
  51. data/doc/Pubnub/RequestDispatcher.html +291 -0
  52. data/doc/Pubnub/RequestError.html +147 -0
  53. data/doc/Pubnub/ResponseError.html +147 -0
  54. data/doc/Pubnub/Revoke.html +258 -0
  55. data/doc/Pubnub/SingleEvent.html +158 -0
  56. data/doc/Pubnub/State.html +161 -0
  57. data/doc/Pubnub/Subscribe.html +293 -0
  58. data/doc/Pubnub/SubscribeEvent.html +559 -0
  59. data/doc/Pubnub/SubscribeEvent/Adding.html +316 -0
  60. data/doc/Pubnub/SubscribeEvent/Formatter.html +115 -0
  61. data/doc/Pubnub/SubscribeEvent/Heartbeat.html +119 -0
  62. data/doc/Pubnub/SubscribeEvent/Removing.html +324 -0
  63. data/doc/Pubnub/Time.html +243 -0
  64. data/doc/Pubnub/UUID.html +190 -0
  65. data/doc/Pubnub/Validator.html +127 -0
  66. data/doc/Pubnub/Validator/Client.html +203 -0
  67. data/doc/Pubnub/Validator/CommonValidator.html +381 -0
  68. data/doc/Pubnub/Validator/Publish.html +197 -0
  69. data/doc/Pubnub/Validator/Subscribe.html +197 -0
  70. data/doc/Pubnub/WhereNow.html +247 -0
  71. data/doc/_index.html +629 -0
  72. data/doc/class_list.html +58 -0
  73. data/doc/css/common.css +1 -0
  74. data/doc/css/full_list.css +57 -0
  75. data/doc/css/style.css +339 -0
  76. data/doc/file.README.html +772 -0
  77. data/doc/file_list.html +60 -0
  78. data/doc/frames.html +26 -0
  79. data/doc/index.html +772 -0
  80. data/doc/js/app.js +219 -0
  81. data/doc/js/full_list.js +181 -0
  82. data/doc/js/jquery.js +4 -0
  83. data/doc/method_list.html +885 -0
  84. data/doc/top-level-namespace.html +114 -0
  85. data/fixtures/vcr_cassettes/client/connection-for-non-subscribe.yml +44 -0
  86. data/fixtures/vcr_cassettes/client/connection-for-subscribe.yml +44 -0
  87. data/fixtures/vcr_cassettes/client/connection_callbacks_0.yml +40 -0
  88. data/fixtures/vcr_cassettes/client/connection_callbacks_1.yml +40 -0
  89. data/fixtures/vcr_cassettes/client/connection_callbacks_2.yml +40 -0
  90. data/fixtures/vcr_cassettes/{audit-nonssl-block-invalid-200-async.yml → integration/audit/audit-nonssl-block-invalid-200-async.yml} +0 -0
  91. data/fixtures/vcr_cassettes/{audit-nonssl-block-invalid-200-sync.yml → integration/audit/audit-nonssl-block-invalid-200-sync.yml} +0 -0
  92. data/fixtures/vcr_cassettes/{audit-nonssl-block-invalid-non-200-async.yml → integration/audit/audit-nonssl-block-invalid-non-200-async.yml} +0 -0
  93. data/fixtures/vcr_cassettes/{audit-nonssl-block-invalid-non-200-sync.yml → integration/audit/audit-nonssl-block-invalid-non-200-sync.yml} +0 -0
  94. data/fixtures/vcr_cassettes/{audit-nonssl-block-valid-200-async.yml → integration/audit/audit-nonssl-block-valid-200-async.yml} +0 -0
  95. data/fixtures/vcr_cassettes/{audit-nonssl-block-valid-200-sync.yml → integration/audit/audit-nonssl-block-valid-200-sync.yml} +0 -0
  96. data/fixtures/vcr_cassettes/{audit-nonssl-block-valid-non-200-async.yml → integration/audit/audit-nonssl-block-valid-non-200-async.yml} +0 -0
  97. data/fixtures/vcr_cassettes/{audit-nonssl-block-valid-non-200-sync.yml → integration/audit/audit-nonssl-block-valid-non-200-sync.yml} +0 -0
  98. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-invalid-200-async.yml → integration/audit/audit-nonssl-parameter-invalid-200-async.yml} +0 -0
  99. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-invalid-200-sync.yml → integration/audit/audit-nonssl-parameter-invalid-200-sync.yml} +0 -0
  100. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-invalid-non-200-async.yml → integration/audit/audit-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  101. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-invalid-non-200-sync.yml → integration/audit/audit-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  102. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-valid-200-async.yml → integration/audit/audit-nonssl-parameter-valid-200-async.yml} +0 -0
  103. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-valid-200-sync.yml → integration/audit/audit-nonssl-parameter-valid-200-sync.yml} +0 -0
  104. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-valid-non-200-async.yml → integration/audit/audit-nonssl-parameter-valid-non-200-async.yml} +0 -0
  105. data/fixtures/vcr_cassettes/{audit-nonssl-parameter-valid-non-200-sync.yml → integration/audit/audit-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  106. data/fixtures/vcr_cassettes/{audit-ssl-block-invalid-200-async.yml → integration/audit/audit-ssl-block-invalid-200-async.yml} +0 -0
  107. data/fixtures/vcr_cassettes/{audit-ssl-block-invalid-200-sync.yml → integration/audit/audit-ssl-block-invalid-200-sync.yml} +0 -0
  108. data/fixtures/vcr_cassettes/{audit-ssl-block-invalid-non-200-async.yml → integration/audit/audit-ssl-block-invalid-non-200-async.yml} +0 -0
  109. data/fixtures/vcr_cassettes/{audit-ssl-block-invalid-non-200-sync.yml → integration/audit/audit-ssl-block-invalid-non-200-sync.yml} +0 -0
  110. data/fixtures/vcr_cassettes/{audit-ssl-block-valid-200-async.yml → integration/audit/audit-ssl-block-valid-200-async.yml} +0 -0
  111. data/fixtures/vcr_cassettes/{audit-ssl-block-valid-200-sync.yml → integration/audit/audit-ssl-block-valid-200-sync.yml} +0 -0
  112. data/fixtures/vcr_cassettes/{audit-ssl-block-valid-non-200-async.yml → integration/audit/audit-ssl-block-valid-non-200-async.yml} +0 -0
  113. data/fixtures/vcr_cassettes/{audit-ssl-block-valid-non-200-sync.yml → integration/audit/audit-ssl-block-valid-non-200-sync.yml} +0 -0
  114. data/fixtures/vcr_cassettes/{audit-ssl-parameter-invalid-200-async.yml → integration/audit/audit-ssl-parameter-invalid-200-async.yml} +0 -0
  115. data/fixtures/vcr_cassettes/{audit-ssl-parameter-invalid-200-sync.yml → integration/audit/audit-ssl-parameter-invalid-200-sync.yml} +0 -0
  116. data/fixtures/vcr_cassettes/{audit-ssl-parameter-invalid-non-200-async.yml → integration/audit/audit-ssl-parameter-invalid-non-200-async.yml} +0 -0
  117. data/fixtures/vcr_cassettes/{audit-ssl-parameter-invalid-non-200-sync.yml → integration/audit/audit-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  118. data/fixtures/vcr_cassettes/{audit-ssl-parameter-valid-200-async.yml → integration/audit/audit-ssl-parameter-valid-200-async.yml} +0 -0
  119. data/fixtures/vcr_cassettes/{audit-ssl-parameter-valid-200-sync.yml → integration/audit/audit-ssl-parameter-valid-200-sync.yml} +0 -0
  120. data/fixtures/vcr_cassettes/{audit-ssl-parameter-valid-non-200-async.yml → integration/audit/audit-ssl-parameter-valid-non-200-async.yml} +0 -0
  121. data/fixtures/vcr_cassettes/{audit-ssl-parameter-valid-non-200-sync.yml → integration/audit/audit-ssl-parameter-valid-non-200-sync.yml} +0 -0
  122. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/add-c-as-array.yml +0 -0
  123. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/add-c-as-csv.yml +0 -0
  124. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/add-c-as-string.yml +0 -0
  125. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/add-c-as-symbol.yml +0 -0
  126. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/audit-cg.yml +0 -0
  127. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/audit-ns.yml +0 -0
  128. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/grant-cg.yml +0 -0
  129. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/grant-ns.yml +0 -0
  130. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/here_now-cg.yml +0 -0
  131. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/leave-cg-c.yml +0 -0
  132. data/fixtures/vcr_cassettes/integration/channel_groups/leave-cg.yml +175 -0
  133. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/list-all-c-in-in-ns-cg.yml +0 -0
  134. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/list-all-c-in-non-ns-cg.yml +0 -0
  135. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/list-all-cg-in-ns.yml +0 -0
  136. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/list-all-namespaces.yml +0 -0
  137. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/list-all-non-namespaced-cg.yml +0 -0
  138. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/remove-c-as-array.yml +0 -0
  139. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/remove-c-as-csv.yml +0 -0
  140. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/remove-c-as-string.yml +0 -0
  141. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/remove-c-as-symbol.yml +0 -0
  142. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/remove-cg-from-ns-csv.yml +0 -0
  143. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/remove-ns-csv.yml +0 -0
  144. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/subscribe-cg-and-channel.yml +0 -0
  145. data/fixtures/vcr_cassettes/{cg → integration/channel_groups}/subscribe-cg-only.yml +0 -0
  146. data/fixtures/vcr_cassettes/integration/channel_registration/add-c-as-array.yml +51 -0
  147. data/fixtures/vcr_cassettes/integration/channel_registration/add-c-as-csv.yml +51 -0
  148. data/fixtures/vcr_cassettes/integration/channel_registration/add-c-as-string.yml +51 -0
  149. data/fixtures/vcr_cassettes/integration/channel_registration/add-c-as-symbol.yml +51 -0
  150. data/fixtures/vcr_cassettes/integration/channel_registration/audit-cg.yml +44 -0
  151. data/fixtures/vcr_cassettes/integration/channel_registration/audit-ns.yml +44 -0
  152. data/fixtures/vcr_cassettes/integration/channel_registration/grant-cg.yml +44 -0
  153. data/fixtures/vcr_cassettes/integration/channel_registration/grant-ns.yml +44 -0
  154. data/fixtures/vcr_cassettes/integration/channel_registration/here_now-cg.yml +51 -0
  155. data/fixtures/vcr_cassettes/integration/channel_registration/leave-cg-c.yml +132 -0
  156. data/fixtures/vcr_cassettes/{cg → integration/channel_registration}/leave-cg.yml +0 -0
  157. data/fixtures/vcr_cassettes/integration/channel_registration/list-all-c-in-in-ns-cg.yml +50 -0
  158. data/fixtures/vcr_cassettes/integration/channel_registration/list-all-c-in-non-ns-cg.yml +51 -0
  159. data/fixtures/vcr_cassettes/integration/channel_registration/list-all-cg-in-ns.yml +51 -0
  160. data/fixtures/vcr_cassettes/integration/channel_registration/list-all-namespaces.yml +50 -0
  161. data/fixtures/vcr_cassettes/integration/channel_registration/list-all-non-namespaced-cg.yml +49 -0
  162. data/fixtures/vcr_cassettes/integration/channel_registration/remove-c-as-array.yml +51 -0
  163. data/fixtures/vcr_cassettes/integration/channel_registration/remove-c-as-csv.yml +51 -0
  164. data/fixtures/vcr_cassettes/integration/channel_registration/remove-c-as-string.yml +51 -0
  165. data/fixtures/vcr_cassettes/integration/channel_registration/remove-c-as-symbol.yml +51 -0
  166. data/fixtures/vcr_cassettes/integration/channel_registration/remove-cg-from-ns-csv.yml +51 -0
  167. data/fixtures/vcr_cassettes/integration/channel_registration/remove-ns-csv.yml +51 -0
  168. data/fixtures/vcr_cassettes/integration/channel_registration/subscribe-cg-and-channel.yml +85 -0
  169. data/fixtures/vcr_cassettes/integration/channel_registration/subscribe-cg-only.yml +85 -0
  170. data/fixtures/vcr_cassettes/integration/grant/grant-application-level.yml +44 -0
  171. data/fixtures/vcr_cassettes/integration/grant/grant-multiple-channels-presence-multi-1.yml +44 -0
  172. data/fixtures/vcr_cassettes/integration/grant/grant-multiple-channels-presence-multi-2.yml +44 -0
  173. data/fixtures/vcr_cassettes/integration/grant/grant-multiple-channels-presence-multi-3.yml +44 -0
  174. data/fixtures/vcr_cassettes/integration/grant/grant-multiple-channels-presence-multi-4.yml +44 -0
  175. data/fixtures/vcr_cassettes/integration/grant/grant-multiple-channels-presence.yml +44 -0
  176. data/fixtures/vcr_cassettes/integration/grant/grant-multiple-channels.yml +45 -0
  177. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-invalid-200-async.yml +44 -0
  178. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-invalid-200-sync.yml +44 -0
  179. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-invalid-non-200-async.yml +44 -0
  180. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-invalid-non-200-sync.yml +44 -0
  181. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-valid-200-async.yml +45 -0
  182. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-valid-200-sync.yml +45 -0
  183. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-valid-non-200-async.yml +45 -0
  184. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-block-valid-non-200-sync.yml +45 -0
  185. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-invalid-200-async.yml +44 -0
  186. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-invalid-200-sync.yml +44 -0
  187. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-invalid-non-200-async.yml +44 -0
  188. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-invalid-non-200-sync.yml +44 -0
  189. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-valid-200-async.yml +45 -0
  190. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-valid-200-sync.yml +45 -0
  191. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-valid-non-200-async.yml +45 -0
  192. data/fixtures/vcr_cassettes/integration/grant/grant-nonssl-parameter-valid-non-200-sync.yml +45 -0
  193. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-invalid-200-async.yml +44 -0
  194. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-invalid-200-sync.yml +44 -0
  195. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-invalid-non-200-async.yml +44 -0
  196. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-invalid-non-200-sync.yml +44 -0
  197. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-valid-200-async.yml +45 -0
  198. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-valid-200-sync.yml +45 -0
  199. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-valid-non-200-async.yml +45 -0
  200. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-block-valid-non-200-sync.yml +45 -0
  201. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-invalid-200-async.yml +44 -0
  202. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-invalid-200-sync.yml +44 -0
  203. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-invalid-non-200-async.yml +44 -0
  204. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-invalid-non-200-sync.yml +44 -0
  205. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-valid-200-async.yml +45 -0
  206. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-valid-200-sync.yml +45 -0
  207. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-valid-non-200-async.yml +45 -0
  208. data/fixtures/vcr_cassettes/integration/grant/grant-ssl-parameter-valid-non-200-sync.yml +45 -0
  209. data/fixtures/vcr_cassettes/{here_now-nonssl-block-invalid-200-async.yml → integration/here_now/here_now-nonssl-block-invalid-200-async.yml} +0 -0
  210. data/fixtures/vcr_cassettes/{here_now-nonssl-block-invalid-200-sync.yml → integration/here_now/here_now-nonssl-block-invalid-200-sync.yml} +0 -0
  211. data/fixtures/vcr_cassettes/{here_now-nonssl-block-invalid-non-200-async.yml → integration/here_now/here_now-nonssl-block-invalid-non-200-async.yml} +0 -0
  212. data/fixtures/vcr_cassettes/{here_now-nonssl-block-invalid-non-200-sync.yml → integration/here_now/here_now-nonssl-block-invalid-non-200-sync.yml} +0 -0
  213. data/fixtures/vcr_cassettes/{here_now-nonssl-block-valid-200-async.yml → integration/here_now/here_now-nonssl-block-valid-200-async.yml} +0 -0
  214. data/fixtures/vcr_cassettes/{here_now-nonssl-block-valid-200-sync.yml → integration/here_now/here_now-nonssl-block-valid-200-sync.yml} +0 -0
  215. data/fixtures/vcr_cassettes/{here_now-nonssl-block-valid-non-200-async.yml → integration/here_now/here_now-nonssl-block-valid-non-200-async.yml} +0 -0
  216. data/fixtures/vcr_cassettes/{here_now-nonssl-block-valid-non-200-sync.yml → integration/here_now/here_now-nonssl-block-valid-non-200-sync.yml} +0 -0
  217. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-invalid-200-async.yml → integration/here_now/here_now-nonssl-parameter-invalid-200-async.yml} +0 -0
  218. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-invalid-200-sync.yml → integration/here_now/here_now-nonssl-parameter-invalid-200-sync.yml} +0 -0
  219. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-invalid-non-200-async.yml → integration/here_now/here_now-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  220. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-invalid-non-200-sync.yml → integration/here_now/here_now-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  221. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-valid-200-async.yml → integration/here_now/here_now-nonssl-parameter-valid-200-async.yml} +0 -0
  222. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-valid-200-sync.yml → integration/here_now/here_now-nonssl-parameter-valid-200-sync.yml} +0 -0
  223. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-valid-non-200-async.yml → integration/here_now/here_now-nonssl-parameter-valid-non-200-async.yml} +0 -0
  224. data/fixtures/vcr_cassettes/{here_now-nonssl-parameter-valid-non-200-sync.yml → integration/here_now/here_now-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  225. data/fixtures/vcr_cassettes/{here_now-ssl-block-invalid-200-async.yml → integration/here_now/here_now-ssl-block-invalid-200-async.yml} +0 -0
  226. data/fixtures/vcr_cassettes/{here_now-ssl-block-invalid-200-sync.yml → integration/here_now/here_now-ssl-block-invalid-200-sync.yml} +0 -0
  227. data/fixtures/vcr_cassettes/{here_now-ssl-block-invalid-non-200-async.yml → integration/here_now/here_now-ssl-block-invalid-non-200-async.yml} +0 -0
  228. data/fixtures/vcr_cassettes/{here_now-ssl-block-invalid-non-200-sync.yml → integration/here_now/here_now-ssl-block-invalid-non-200-sync.yml} +0 -0
  229. data/fixtures/vcr_cassettes/{here_now-ssl-block-valid-200-async.yml → integration/here_now/here_now-ssl-block-valid-200-async.yml} +0 -0
  230. data/fixtures/vcr_cassettes/{here_now-ssl-block-valid-200-sync.yml → integration/here_now/here_now-ssl-block-valid-200-sync.yml} +0 -0
  231. data/fixtures/vcr_cassettes/{here_now-ssl-block-valid-non-200-async.yml → integration/here_now/here_now-ssl-block-valid-non-200-async.yml} +0 -0
  232. data/fixtures/vcr_cassettes/{here_now-ssl-block-valid-non-200-sync.yml → integration/here_now/here_now-ssl-block-valid-non-200-sync.yml} +0 -0
  233. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-invalid-200-async.yml → integration/here_now/here_now-ssl-parameter-invalid-200-async.yml} +0 -0
  234. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-invalid-200-sync.yml → integration/here_now/here_now-ssl-parameter-invalid-200-sync.yml} +0 -0
  235. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-invalid-non-200-async.yml → integration/here_now/here_now-ssl-parameter-invalid-non-200-async.yml} +0 -0
  236. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-invalid-non-200-sync.yml → integration/here_now/here_now-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  237. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-valid-200-async.yml → integration/here_now/here_now-ssl-parameter-valid-200-async.yml} +0 -0
  238. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-valid-200-sync.yml → integration/here_now/here_now-ssl-parameter-valid-200-sync.yml} +0 -0
  239. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-valid-non-200-async.yml → integration/here_now/here_now-ssl-parameter-valid-non-200-async.yml} +0 -0
  240. data/fixtures/vcr_cassettes/{here_now-ssl-parameter-valid-non-200-sync.yml → integration/here_now/here_now-ssl-parameter-valid-non-200-sync.yml} +0 -0
  241. data/fixtures/vcr_cassettes/{here_now_global-nonssl-block-invalid-200-sync.yml → integration/here_now/here_now_global-nonssl-block-invalid-200-sync.yml} +0 -0
  242. data/fixtures/vcr_cassettes/{here_now_global-nonssl-block-invalid-non-200-sync.yml → integration/here_now/here_now_global-nonssl-block-invalid-non-200-sync.yml} +0 -0
  243. data/fixtures/vcr_cassettes/{here_now_global-nonssl-block-valid-200-sync.yml → integration/here_now/here_now_global-nonssl-block-valid-200-sync.yml} +0 -0
  244. data/fixtures/vcr_cassettes/{here_now_global-nonssl-block-valid-non-200-sync.yml → integration/here_now/here_now_global-nonssl-block-valid-non-200-sync.yml} +0 -0
  245. data/fixtures/vcr_cassettes/{here_now_global-nonssl-parameter-invalid-200-sync.yml → integration/here_now/here_now_global-nonssl-parameter-invalid-200-sync.yml} +0 -0
  246. data/fixtures/vcr_cassettes/{here_now_global-nonssl-parameter-invalid-non-200-sync.yml → integration/here_now/here_now_global-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  247. data/fixtures/vcr_cassettes/{here_now_global-nonssl-parameter-valid-200-sync.yml → integration/here_now/here_now_global-nonssl-parameter-valid-200-sync.yml} +0 -0
  248. data/fixtures/vcr_cassettes/{here_now_global-nonssl-parameter-valid-non-200-sync.yml → integration/here_now/here_now_global-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  249. data/fixtures/vcr_cassettes/{here_now_global-ssl-block-invalid-200-sync.yml → integration/here_now/here_now_global-ssl-block-invalid-200-sync.yml} +0 -0
  250. data/fixtures/vcr_cassettes/{here_now_global-ssl-block-invalid-non-200-sync.yml → integration/here_now/here_now_global-ssl-block-invalid-non-200-sync.yml} +0 -0
  251. data/fixtures/vcr_cassettes/{here_now_global-ssl-block-valid-200-async.yml → integration/here_now/here_now_global-ssl-block-valid-200-async.yml} +0 -0
  252. data/fixtures/vcr_cassettes/{here_now_global-ssl-block-valid-200-sync.yml → integration/here_now/here_now_global-ssl-block-valid-200-sync.yml} +0 -0
  253. data/fixtures/vcr_cassettes/{here_now_global-ssl-block-valid-non-200-sync.yml → integration/here_now/here_now_global-ssl-block-valid-non-200-sync.yml} +0 -0
  254. data/fixtures/vcr_cassettes/{here_now_global-ssl-parameter-invalid-200-sync.yml → integration/here_now/here_now_global-ssl-parameter-invalid-200-sync.yml} +0 -0
  255. data/fixtures/vcr_cassettes/{here_now_global-ssl-parameter-invalid-non-200-sync.yml → integration/here_now/here_now_global-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  256. data/fixtures/vcr_cassettes/{here_now_global-ssl-parameter-valid-200-sync.yml → integration/here_now/here_now_global-ssl-parameter-valid-200-sync.yml} +0 -0
  257. data/fixtures/vcr_cassettes/{here_now_global-ssl-parameter-valid-non-200-sync.yml → integration/here_now/here_now_global-ssl-parameter-valid-non-200-sync.yml} +0 -0
  258. data/fixtures/vcr_cassettes/{history-nonssl-block-invalid-200-async.yml → integration/history/history-nonssl-block-invalid-200-async.yml} +0 -0
  259. data/fixtures/vcr_cassettes/{history-nonssl-block-invalid-200-sync.yml → integration/history/history-nonssl-block-invalid-200-sync.yml} +0 -0
  260. data/fixtures/vcr_cassettes/{history-nonssl-block-invalid-non-200-async.yml → integration/history/history-nonssl-block-invalid-non-200-async.yml} +0 -0
  261. data/fixtures/vcr_cassettes/{history-nonssl-block-invalid-non-200-sync.yml → integration/history/history-nonssl-block-invalid-non-200-sync.yml} +0 -0
  262. data/fixtures/vcr_cassettes/{history-nonssl-block-valid-200-async.yml → integration/history/history-nonssl-block-valid-200-async.yml} +0 -0
  263. data/fixtures/vcr_cassettes/{history-nonssl-block-valid-200-sync.yml → integration/history/history-nonssl-block-valid-200-sync.yml} +0 -0
  264. data/fixtures/vcr_cassettes/{history-nonssl-block-valid-non-200-async.yml → integration/history/history-nonssl-block-valid-non-200-async.yml} +0 -0
  265. data/fixtures/vcr_cassettes/{history-nonssl-block-valid-non-200-sync.yml → integration/history/history-nonssl-block-valid-non-200-sync.yml} +0 -0
  266. data/fixtures/vcr_cassettes/{history-nonssl-parameter-invalid-200-async.yml → integration/history/history-nonssl-parameter-invalid-200-async.yml} +0 -0
  267. data/fixtures/vcr_cassettes/{history-nonssl-parameter-invalid-200-sync.yml → integration/history/history-nonssl-parameter-invalid-200-sync.yml} +0 -0
  268. data/fixtures/vcr_cassettes/{history-nonssl-parameter-invalid-non-200-async.yml → integration/history/history-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  269. data/fixtures/vcr_cassettes/{history-nonssl-parameter-invalid-non-200-sync.yml → integration/history/history-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  270. data/fixtures/vcr_cassettes/{history-nonssl-parameter-valid-200-async.yml → integration/history/history-nonssl-parameter-valid-200-async.yml} +0 -0
  271. data/fixtures/vcr_cassettes/{history-nonssl-parameter-valid-200-sync.yml → integration/history/history-nonssl-parameter-valid-200-sync.yml} +0 -0
  272. data/fixtures/vcr_cassettes/{history-nonssl-parameter-valid-non-200-async.yml → integration/history/history-nonssl-parameter-valid-non-200-async.yml} +0 -0
  273. data/fixtures/vcr_cassettes/{history-nonssl-parameter-valid-non-200-sync.yml → integration/history/history-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  274. data/fixtures/vcr_cassettes/{history-ssl-block-invalid-200-async.yml → integration/history/history-ssl-block-invalid-200-async.yml} +0 -0
  275. data/fixtures/vcr_cassettes/{history-ssl-block-invalid-200-sync.yml → integration/history/history-ssl-block-invalid-200-sync.yml} +0 -0
  276. data/fixtures/vcr_cassettes/{history-ssl-block-invalid-non-200-async.yml → integration/history/history-ssl-block-invalid-non-200-async.yml} +0 -0
  277. data/fixtures/vcr_cassettes/{history-ssl-block-invalid-non-200-sync.yml → integration/history/history-ssl-block-invalid-non-200-sync.yml} +0 -0
  278. data/fixtures/vcr_cassettes/{history-ssl-block-valid-200-async.yml → integration/history/history-ssl-block-valid-200-async.yml} +0 -0
  279. data/fixtures/vcr_cassettes/{history-ssl-block-valid-200-sync.yml → integration/history/history-ssl-block-valid-200-sync.yml} +0 -0
  280. data/fixtures/vcr_cassettes/{history-ssl-block-valid-non-200-async.yml → integration/history/history-ssl-block-valid-non-200-async.yml} +0 -0
  281. data/fixtures/vcr_cassettes/{history-ssl-block-valid-non-200-sync.yml → integration/history/history-ssl-block-valid-non-200-sync.yml} +0 -0
  282. data/fixtures/vcr_cassettes/{history-ssl-parameter-invalid-200-async.yml → integration/history/history-ssl-parameter-invalid-200-async.yml} +0 -0
  283. data/fixtures/vcr_cassettes/{history-ssl-parameter-invalid-200-sync.yml → integration/history/history-ssl-parameter-invalid-200-sync.yml} +0 -0
  284. data/fixtures/vcr_cassettes/{history-ssl-parameter-invalid-non-200-async.yml → integration/history/history-ssl-parameter-invalid-non-200-async.yml} +0 -0
  285. data/fixtures/vcr_cassettes/{history-ssl-parameter-invalid-non-200-sync.yml → integration/history/history-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  286. data/fixtures/vcr_cassettes/{history-ssl-parameter-valid-200-async.yml → integration/history/history-ssl-parameter-valid-200-async.yml} +0 -0
  287. data/fixtures/vcr_cassettes/{history-ssl-parameter-valid-200-sync.yml → integration/history/history-ssl-parameter-valid-200-sync.yml} +0 -0
  288. data/fixtures/vcr_cassettes/{history-ssl-parameter-valid-non-200-async.yml → integration/history/history-ssl-parameter-valid-non-200-async.yml} +0 -0
  289. data/fixtures/vcr_cassettes/{history-ssl-parameter-valid-non-200-sync.yml → integration/history/history-ssl-parameter-valid-non-200-sync.yml} +0 -0
  290. data/fixtures/vcr_cassettes/{leave-nonssl-block-invalid-200-async.yml → integration/leave/leave-nonssl-block-invalid-200-async.yml} +0 -0
  291. data/fixtures/vcr_cassettes/{leave-nonssl-block-invalid-200-sync.yml → integration/leave/leave-nonssl-block-invalid-200-sync.yml} +0 -0
  292. data/fixtures/vcr_cassettes/{leave-nonssl-block-invalid-non-200-async.yml → integration/leave/leave-nonssl-block-invalid-non-200-async.yml} +0 -0
  293. data/fixtures/vcr_cassettes/{leave-nonssl-block-invalid-non-200-sync.yml → integration/leave/leave-nonssl-block-invalid-non-200-sync.yml} +0 -0
  294. data/fixtures/vcr_cassettes/{leave-nonssl-block-valid-200-async.yml → integration/leave/leave-nonssl-block-valid-200-async.yml} +0 -0
  295. data/fixtures/vcr_cassettes/{leave-nonssl-block-valid-200-sync.yml → integration/leave/leave-nonssl-block-valid-200-sync.yml} +0 -0
  296. data/fixtures/vcr_cassettes/{leave-nonssl-block-valid-non-200-async.yml → integration/leave/leave-nonssl-block-valid-non-200-async.yml} +0 -0
  297. data/fixtures/vcr_cassettes/{leave-nonssl-block-valid-non-200-sync.yml → integration/leave/leave-nonssl-block-valid-non-200-sync.yml} +0 -0
  298. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-invalid-200-async.yml → integration/leave/leave-nonssl-parameter-invalid-200-async.yml} +0 -0
  299. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-invalid-200-sync.yml → integration/leave/leave-nonssl-parameter-invalid-200-sync.yml} +0 -0
  300. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-invalid-non-200-async.yml → integration/leave/leave-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  301. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-invalid-non-200-sync.yml → integration/leave/leave-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  302. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-valid-200-async.yml → integration/leave/leave-nonssl-parameter-valid-200-async.yml} +0 -0
  303. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-valid-200-sync.yml → integration/leave/leave-nonssl-parameter-valid-200-sync.yml} +0 -0
  304. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-valid-non-200-async.yml → integration/leave/leave-nonssl-parameter-valid-non-200-async.yml} +0 -0
  305. data/fixtures/vcr_cassettes/{leave-nonssl-parameter-valid-non-200-sync.yml → integration/leave/leave-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  306. data/fixtures/vcr_cassettes/{leave-ssl-block-invalid-200-async.yml → integration/leave/leave-ssl-block-invalid-200-async.yml} +0 -0
  307. data/fixtures/vcr_cassettes/{leave-ssl-block-invalid-200-sync.yml → integration/leave/leave-ssl-block-invalid-200-sync.yml} +0 -0
  308. data/fixtures/vcr_cassettes/{leave-ssl-block-invalid-non-200-async.yml → integration/leave/leave-ssl-block-invalid-non-200-async.yml} +0 -0
  309. data/fixtures/vcr_cassettes/{leave-ssl-block-invalid-non-200-sync.yml → integration/leave/leave-ssl-block-invalid-non-200-sync.yml} +0 -0
  310. data/fixtures/vcr_cassettes/{leave-ssl-block-valid-200-async.yml → integration/leave/leave-ssl-block-valid-200-async.yml} +0 -0
  311. data/fixtures/vcr_cassettes/{leave-ssl-block-valid-200-sync.yml → integration/leave/leave-ssl-block-valid-200-sync.yml} +0 -0
  312. data/fixtures/vcr_cassettes/{leave-ssl-block-valid-non-200-async.yml → integration/leave/leave-ssl-block-valid-non-200-async.yml} +0 -0
  313. data/fixtures/vcr_cassettes/{leave-ssl-block-valid-non-200-sync.yml → integration/leave/leave-ssl-block-valid-non-200-sync.yml} +0 -0
  314. data/fixtures/vcr_cassettes/{leave-ssl-parameter-invalid-200-async.yml → integration/leave/leave-ssl-parameter-invalid-200-async.yml} +0 -0
  315. data/fixtures/vcr_cassettes/{leave-ssl-parameter-invalid-200-sync.yml → integration/leave/leave-ssl-parameter-invalid-200-sync.yml} +0 -0
  316. data/fixtures/vcr_cassettes/{leave-ssl-parameter-invalid-non-200-async.yml → integration/leave/leave-ssl-parameter-invalid-non-200-async.yml} +0 -0
  317. data/fixtures/vcr_cassettes/{leave-ssl-parameter-invalid-non-200-sync.yml → integration/leave/leave-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  318. data/fixtures/vcr_cassettes/{leave-ssl-parameter-valid-200-async.yml → integration/leave/leave-ssl-parameter-valid-200-async.yml} +0 -0
  319. data/fixtures/vcr_cassettes/{leave-ssl-parameter-valid-200-sync.yml → integration/leave/leave-ssl-parameter-valid-200-sync.yml} +0 -0
  320. data/fixtures/vcr_cassettes/{leave-ssl-parameter-valid-non-200-async.yml → integration/leave/leave-ssl-parameter-valid-non-200-async.yml} +0 -0
  321. data/fixtures/vcr_cassettes/{leave-ssl-parameter-valid-non-200-sync.yml → integration/leave/leave-ssl-parameter-valid-non-200-sync.yml} +0 -0
  322. data/fixtures/vcr_cassettes/{presence-nonssl-block-invalid-200-async.yml → integration/presence/presence-nonssl-block-invalid-200-async.yml} +0 -0
  323. data/fixtures/vcr_cassettes/{presence-nonssl-block-invalid-200-sync.yml → integration/presence/presence-nonssl-block-invalid-200-sync.yml} +0 -0
  324. data/fixtures/vcr_cassettes/{presence-nonssl-block-invalid-non-200-async.yml → integration/presence/presence-nonssl-block-invalid-non-200-async.yml} +0 -0
  325. data/fixtures/vcr_cassettes/{presence-nonssl-block-invalid-non-200-sync.yml → integration/presence/presence-nonssl-block-invalid-non-200-sync.yml} +0 -0
  326. data/fixtures/vcr_cassettes/{presence-nonssl-block-valid-200-async.yml → integration/presence/presence-nonssl-block-valid-200-async.yml} +0 -0
  327. data/fixtures/vcr_cassettes/{presence-nonssl-block-valid-200-sync.yml → integration/presence/presence-nonssl-block-valid-200-sync.yml} +0 -0
  328. data/fixtures/vcr_cassettes/{presence-nonssl-block-valid-non-200-async.yml → integration/presence/presence-nonssl-block-valid-non-200-async.yml} +0 -0
  329. data/fixtures/vcr_cassettes/{presence-nonssl-block-valid-non-200-sync.yml → integration/presence/presence-nonssl-block-valid-non-200-sync.yml} +0 -0
  330. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-invalid-200-async.yml → integration/presence/presence-nonssl-parameter-invalid-200-async.yml} +0 -0
  331. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-invalid-200-sync.yml → integration/presence/presence-nonssl-parameter-invalid-200-sync.yml} +0 -0
  332. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-invalid-non-200-async.yml → integration/presence/presence-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  333. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-invalid-non-200-sync.yml → integration/presence/presence-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  334. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-valid-200-async.yml → integration/presence/presence-nonssl-parameter-valid-200-async.yml} +0 -0
  335. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-valid-200-sync.yml → integration/presence/presence-nonssl-parameter-valid-200-sync.yml} +0 -0
  336. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-valid-non-200-async.yml → integration/presence/presence-nonssl-parameter-valid-non-200-async.yml} +0 -0
  337. data/fixtures/vcr_cassettes/{presence-nonssl-parameter-valid-non-200-sync.yml → integration/presence/presence-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  338. data/fixtures/vcr_cassettes/{presence-ssl-block-invalid-200-async.yml → integration/presence/presence-ssl-block-invalid-200-async.yml} +0 -0
  339. data/fixtures/vcr_cassettes/{presence-ssl-block-invalid-200-sync.yml → integration/presence/presence-ssl-block-invalid-200-sync.yml} +0 -0
  340. data/fixtures/vcr_cassettes/{presence-ssl-block-invalid-non-200-async.yml → integration/presence/presence-ssl-block-invalid-non-200-async.yml} +0 -0
  341. data/fixtures/vcr_cassettes/{presence-ssl-block-invalid-non-200-sync.yml → integration/presence/presence-ssl-block-invalid-non-200-sync.yml} +0 -0
  342. data/fixtures/vcr_cassettes/{presence-ssl-block-valid-200-async.yml → integration/presence/presence-ssl-block-valid-200-async.yml} +0 -0
  343. data/fixtures/vcr_cassettes/{presence-ssl-block-valid-200-sync-new.yml → integration/presence/presence-ssl-block-valid-200-sync-new.yml} +0 -0
  344. data/fixtures/vcr_cassettes/{presence-ssl-block-valid-200-sync.yml → integration/presence/presence-ssl-block-valid-200-sync.yml} +0 -0
  345. data/fixtures/vcr_cassettes/{presence-ssl-block-valid-non-200-async.yml → integration/presence/presence-ssl-block-valid-non-200-async.yml} +0 -0
  346. data/fixtures/vcr_cassettes/{presence-ssl-block-valid-non-200-sync.yml → integration/presence/presence-ssl-block-valid-non-200-sync.yml} +0 -0
  347. data/fixtures/vcr_cassettes/{presence-ssl-parameter-invalid-200-async.yml → integration/presence/presence-ssl-parameter-invalid-200-async.yml} +0 -0
  348. data/fixtures/vcr_cassettes/{presence-ssl-parameter-invalid-200-sync.yml → integration/presence/presence-ssl-parameter-invalid-200-sync.yml} +0 -0
  349. data/fixtures/vcr_cassettes/{presence-ssl-parameter-invalid-non-200-async.yml → integration/presence/presence-ssl-parameter-invalid-non-200-async.yml} +0 -0
  350. data/fixtures/vcr_cassettes/{presence-ssl-parameter-invalid-non-200-sync.yml → integration/presence/presence-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  351. data/fixtures/vcr_cassettes/{presence-ssl-parameter-valid-200-async.yml → integration/presence/presence-ssl-parameter-valid-200-async.yml} +0 -0
  352. data/fixtures/vcr_cassettes/{presence-ssl-parameter-valid-200-sync.yml → integration/presence/presence-ssl-parameter-valid-200-sync.yml} +0 -0
  353. data/fixtures/vcr_cassettes/{presence-ssl-parameter-valid-non-200-async.yml → integration/presence/presence-ssl-parameter-valid-non-200-async.yml} +0 -0
  354. data/fixtures/vcr_cassettes/{presence-ssl-parameter-valid-non-200-sync.yml → integration/presence/presence-ssl-parameter-valid-non-200-sync.yml} +0 -0
  355. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-invalid-200-async.yml → integration/presence/v3-presence-nonssl-block-invalid-200-async.yml} +0 -0
  356. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-invalid-200-sync.yml → integration/presence/v3-presence-nonssl-block-invalid-200-sync.yml} +0 -0
  357. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-invalid-non-200-async.yml → integration/presence/v3-presence-nonssl-block-invalid-non-200-async.yml} +0 -0
  358. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-invalid-non-200-sync.yml → integration/presence/v3-presence-nonssl-block-invalid-non-200-sync.yml} +0 -0
  359. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-valid-200-async.yml → integration/presence/v3-presence-nonssl-block-valid-200-async.yml} +0 -0
  360. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-valid-200-sync.yml → integration/presence/v3-presence-nonssl-block-valid-200-sync.yml} +0 -0
  361. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-valid-non-200-async.yml → integration/presence/v3-presence-nonssl-block-valid-non-200-async.yml} +0 -0
  362. data/fixtures/vcr_cassettes/{v3-presence-nonssl-block-valid-non-200-sync.yml → integration/presence/v3-presence-nonssl-block-valid-non-200-sync.yml} +0 -0
  363. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-invalid-200-async.yml → integration/presence/v3-presence-nonssl-parameter-invalid-200-async.yml} +0 -0
  364. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-invalid-200-sync.yml → integration/presence/v3-presence-nonssl-parameter-invalid-200-sync.yml} +0 -0
  365. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-invalid-non-200-async.yml → integration/presence/v3-presence-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  366. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-invalid-non-200-sync.yml → integration/presence/v3-presence-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  367. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-valid-200-async.yml → integration/presence/v3-presence-nonssl-parameter-valid-200-async.yml} +0 -0
  368. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-valid-200-sync.yml → integration/presence/v3-presence-nonssl-parameter-valid-200-sync.yml} +0 -0
  369. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-valid-non-200-async.yml → integration/presence/v3-presence-nonssl-parameter-valid-non-200-async.yml} +0 -0
  370. data/fixtures/vcr_cassettes/{v3-presence-nonssl-parameter-valid-non-200-sync.yml → integration/presence/v3-presence-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  371. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-invalid-200-async.yml → integration/presence/v3-presence-ssl-block-invalid-200-async.yml} +0 -0
  372. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-invalid-200-sync.yml → integration/presence/v3-presence-ssl-block-invalid-200-sync.yml} +0 -0
  373. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-invalid-non-200-async.yml → integration/presence/v3-presence-ssl-block-invalid-non-200-async.yml} +0 -0
  374. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-invalid-non-200-sync.yml → integration/presence/v3-presence-ssl-block-invalid-non-200-sync.yml} +0 -0
  375. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-valid-200-async.yml → integration/presence/v3-presence-ssl-block-valid-200-async.yml} +0 -0
  376. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-valid-200-sync.yml → integration/presence/v3-presence-ssl-block-valid-200-sync.yml} +0 -0
  377. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-valid-non-200-async.yml → integration/presence/v3-presence-ssl-block-valid-non-200-async.yml} +0 -0
  378. data/fixtures/vcr_cassettes/{v3-presence-ssl-block-valid-non-200-sync.yml → integration/presence/v3-presence-ssl-block-valid-non-200-sync.yml} +0 -0
  379. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-invalid-200-async.yml → integration/presence/v3-presence-ssl-parameter-invalid-200-async.yml} +0 -0
  380. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-invalid-200-sync.yml → integration/presence/v3-presence-ssl-parameter-invalid-200-sync.yml} +0 -0
  381. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-invalid-non-200-async.yml → integration/presence/v3-presence-ssl-parameter-invalid-non-200-async.yml} +0 -0
  382. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-invalid-non-200-sync.yml → integration/presence/v3-presence-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  383. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-valid-200-async.yml → integration/presence/v3-presence-ssl-parameter-valid-200-async.yml} +0 -0
  384. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-valid-200-sync.yml → integration/presence/v3-presence-ssl-parameter-valid-200-sync.yml} +0 -0
  385. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-valid-non-200-async.yml → integration/presence/v3-presence-ssl-parameter-valid-non-200-async.yml} +0 -0
  386. data/fixtures/vcr_cassettes/{v3-presence-ssl-parameter-valid-non-200-sync.yml → integration/presence/v3-presence-ssl-parameter-valid-non-200-sync.yml} +0 -0
  387. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-array-of-hashes.yml +0 -0
  388. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-200-invalid.yml +0 -0
  389. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-200-valid.yml +0 -0
  390. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-auth_key-200-invalid.yml +0 -0
  391. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-auth_key-200-valid.yml +0 -0
  392. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-auth_key-non200-invalid.yml +0 -0
  393. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-auth_key-non200-valid.yml +0 -0
  394. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-non200-invalid.yml +0 -0
  395. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-http-non200-valid.yml +0 -0
  396. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-200-invalid.yml +0 -0
  397. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-200-valid.yml +0 -0
  398. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-auth_key-200-invalid.yml +0 -0
  399. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-auth_key-200-valid.yml +0 -0
  400. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-auth_key-non200-invalid.yml +0 -0
  401. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-auth_key-non200-valid.yml +0 -0
  402. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-non200-invalid.yml +0 -0
  403. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-encrypted-https-non200-valid.yml +0 -0
  404. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-200-invalid.yml +0 -0
  405. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-200-valid.yml +0 -0
  406. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-auth_key-200-invalid.yml +0 -0
  407. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-auth_key-200-valid.yml +0 -0
  408. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-auth_key-non200-invalid.yml +0 -0
  409. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-auth_key-non200-valid.yml +0 -0
  410. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-non200-invalid.yml +0 -0
  411. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-http-non200-valid.yml +0 -0
  412. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-200-invalid.yml +0 -0
  413. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-200-valid.yml +0 -0
  414. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-auth_key-200-invalid.yml +0 -0
  415. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-auth_key-200-valid.yml +0 -0
  416. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-auth_key-non200-invalid.yml +0 -0
  417. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-auth_key-non200-valid.yml +0 -0
  418. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-non200-invalid.yml +0 -0
  419. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-https-non200-valid.yml +0 -0
  420. data/fixtures/vcr_cassettes/{new_ones → integration}/publish/publish-plain-array-of-hashes.yml +0 -0
  421. data/fixtures/vcr_cassettes/{revoke-application-level.yml → integration/revoke/revoke-application-level.yml} +0 -0
  422. data/fixtures/vcr_cassettes/{revoke-nonssl-block-invalid-200-async.yml → integration/revoke/revoke-nonssl-block-invalid-200-async.yml} +0 -0
  423. data/fixtures/vcr_cassettes/{revoke-nonssl-block-invalid-200-sync.yml → integration/revoke/revoke-nonssl-block-invalid-200-sync.yml} +0 -0
  424. data/fixtures/vcr_cassettes/{revoke-nonssl-block-invalid-non-200-async.yml → integration/revoke/revoke-nonssl-block-invalid-non-200-async.yml} +0 -0
  425. data/fixtures/vcr_cassettes/{revoke-nonssl-block-invalid-non-200-sync.yml → integration/revoke/revoke-nonssl-block-invalid-non-200-sync.yml} +0 -0
  426. data/fixtures/vcr_cassettes/{revoke-nonssl-block-valid-200-async.yml → integration/revoke/revoke-nonssl-block-valid-200-async.yml} +0 -0
  427. data/fixtures/vcr_cassettes/{revoke-nonssl-block-valid-200-sync.yml → integration/revoke/revoke-nonssl-block-valid-200-sync.yml} +0 -0
  428. data/fixtures/vcr_cassettes/{revoke-nonssl-block-valid-non-200-async.yml → integration/revoke/revoke-nonssl-block-valid-non-200-async.yml} +0 -0
  429. data/fixtures/vcr_cassettes/{revoke-nonssl-block-valid-non-200-sync.yml → integration/revoke/revoke-nonssl-block-valid-non-200-sync.yml} +0 -0
  430. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-invalid-200-async.yml → integration/revoke/revoke-nonssl-parameter-invalid-200-async.yml} +0 -0
  431. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-invalid-200-sync.yml → integration/revoke/revoke-nonssl-parameter-invalid-200-sync.yml} +0 -0
  432. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-invalid-non-200-async.yml → integration/revoke/revoke-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  433. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-invalid-non-200-sync.yml → integration/revoke/revoke-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  434. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-valid-200-async.yml → integration/revoke/revoke-nonssl-parameter-valid-200-async.yml} +0 -0
  435. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-valid-200-sync.yml → integration/revoke/revoke-nonssl-parameter-valid-200-sync.yml} +0 -0
  436. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-valid-non-200-async.yml → integration/revoke/revoke-nonssl-parameter-valid-non-200-async.yml} +0 -0
  437. data/fixtures/vcr_cassettes/{revoke-nonssl-parameter-valid-non-200-sync.yml → integration/revoke/revoke-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  438. data/fixtures/vcr_cassettes/{revoke-ssl-block-invalid-200-async.yml → integration/revoke/revoke-ssl-block-invalid-200-async.yml} +0 -0
  439. data/fixtures/vcr_cassettes/{revoke-ssl-block-invalid-200-sync.yml → integration/revoke/revoke-ssl-block-invalid-200-sync.yml} +0 -0
  440. data/fixtures/vcr_cassettes/{revoke-ssl-block-invalid-non-200-async.yml → integration/revoke/revoke-ssl-block-invalid-non-200-async.yml} +0 -0
  441. data/fixtures/vcr_cassettes/{revoke-ssl-block-invalid-non-200-sync.yml → integration/revoke/revoke-ssl-block-invalid-non-200-sync.yml} +0 -0
  442. data/fixtures/vcr_cassettes/{revoke-ssl-block-valid-200-async.yml → integration/revoke/revoke-ssl-block-valid-200-async.yml} +0 -0
  443. data/fixtures/vcr_cassettes/{revoke-ssl-block-valid-200-sync.yml → integration/revoke/revoke-ssl-block-valid-200-sync.yml} +0 -0
  444. data/fixtures/vcr_cassettes/{revoke-ssl-block-valid-non-200-async.yml → integration/revoke/revoke-ssl-block-valid-non-200-async.yml} +0 -0
  445. data/fixtures/vcr_cassettes/{revoke-ssl-block-valid-non-200-sync.yml → integration/revoke/revoke-ssl-block-valid-non-200-sync.yml} +0 -0
  446. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-invalid-200-async.yml → integration/revoke/revoke-ssl-parameter-invalid-200-async.yml} +0 -0
  447. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-invalid-200-sync.yml → integration/revoke/revoke-ssl-parameter-invalid-200-sync.yml} +0 -0
  448. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-invalid-non-200-async.yml → integration/revoke/revoke-ssl-parameter-invalid-non-200-async.yml} +0 -0
  449. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-invalid-non-200-sync.yml → integration/revoke/revoke-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  450. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-valid-200-async.yml → integration/revoke/revoke-ssl-parameter-valid-200-async.yml} +0 -0
  451. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-valid-200-sync.yml → integration/revoke/revoke-ssl-parameter-valid-200-sync.yml} +0 -0
  452. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-valid-non-200-async.yml → integration/revoke/revoke-ssl-parameter-valid-non-200-async.yml} +0 -0
  453. data/fixtures/vcr_cassettes/{revoke-ssl-parameter-valid-non-200-sync.yml → integration/revoke/revoke-ssl-parameter-valid-non-200-sync.yml} +0 -0
  454. data/fixtures/vcr_cassettes/integration/set_state/1.yml +47 -0
  455. data/fixtures/vcr_cassettes/integration/set_state/11.yml +84 -0
  456. data/fixtures/vcr_cassettes/integration/set_state/12.yml +121 -0
  457. data/fixtures/vcr_cassettes/integration/set_state/13.yml +128 -0
  458. data/fixtures/vcr_cassettes/integration/set_state/2.yml +91 -0
  459. data/fixtures/vcr_cassettes/integration/set_state/3.yml +84 -0
  460. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-invalid-200-async.yml → integration/subscribe/subscribe-nonssl-block-invalid-200-async.yml} +0 -0
  461. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-invalid-200-sync.yml → integration/subscribe/subscribe-nonssl-block-invalid-200-sync.yml} +0 -0
  462. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-invalid-non-200-async.yml → integration/subscribe/subscribe-nonssl-block-invalid-non-200-async.yml} +0 -0
  463. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-invalid-non-200-sync.yml → integration/subscribe/subscribe-nonssl-block-invalid-non-200-sync.yml} +0 -0
  464. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-valid-200-async.yml → integration/subscribe/subscribe-nonssl-block-valid-200-async.yml} +0 -0
  465. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-valid-200-sync.yml → integration/subscribe/subscribe-nonssl-block-valid-200-sync.yml} +0 -0
  466. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-valid-non-200-async.yml → integration/subscribe/subscribe-nonssl-block-valid-non-200-async.yml} +0 -0
  467. data/fixtures/vcr_cassettes/{subscribe-nonssl-block-valid-non-200-sync.yml → integration/subscribe/subscribe-nonssl-block-valid-non-200-sync.yml} +0 -0
  468. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-invalid-200-async.yml → integration/subscribe/subscribe-nonssl-parameter-invalid-200-async.yml} +0 -0
  469. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-invalid-200-sync.yml → integration/subscribe/subscribe-nonssl-parameter-invalid-200-sync.yml} +0 -0
  470. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-invalid-non-200-async.yml → integration/subscribe/subscribe-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  471. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-invalid-non-200-sync.yml → integration/subscribe/subscribe-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  472. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-valid-200-async.yml → integration/subscribe/subscribe-nonssl-parameter-valid-200-async.yml} +0 -0
  473. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-valid-200-sync.yml → integration/subscribe/subscribe-nonssl-parameter-valid-200-sync.yml} +0 -0
  474. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-valid-non-200-async.yml → integration/subscribe/subscribe-nonssl-parameter-valid-non-200-async.yml} +0 -0
  475. data/fixtures/vcr_cassettes/{subscribe-nonssl-parameter-valid-non-200-sync.yml → integration/subscribe/subscribe-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  476. data/fixtures/vcr_cassettes/{subscribe-ssl-block-invalid-200-async.yml → integration/subscribe/subscribe-ssl-block-invalid-200-async.yml} +0 -0
  477. data/fixtures/vcr_cassettes/{subscribe-ssl-block-invalid-200-sync.yml → integration/subscribe/subscribe-ssl-block-invalid-200-sync.yml} +0 -0
  478. data/fixtures/vcr_cassettes/{subscribe-ssl-block-invalid-non-200-async.yml → integration/subscribe/subscribe-ssl-block-invalid-non-200-async.yml} +0 -0
  479. data/fixtures/vcr_cassettes/{subscribe-ssl-block-invalid-non-200-sync.yml → integration/subscribe/subscribe-ssl-block-invalid-non-200-sync.yml} +0 -0
  480. data/fixtures/vcr_cassettes/{subscribe-ssl-block-valid-200-async.yml → integration/subscribe/subscribe-ssl-block-valid-200-async.yml} +0 -0
  481. data/fixtures/vcr_cassettes/{subscribe-ssl-block-valid-200-sync.yml → integration/subscribe/subscribe-ssl-block-valid-200-sync.yml} +0 -0
  482. data/fixtures/vcr_cassettes/{subscribe-ssl-block-valid-non-200-async.yml → integration/subscribe/subscribe-ssl-block-valid-non-200-async.yml} +0 -0
  483. data/fixtures/vcr_cassettes/{subscribe-ssl-block-valid-non-200-sync.yml → integration/subscribe/subscribe-ssl-block-valid-non-200-sync.yml} +0 -0
  484. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-invalid-200-async.yml → integration/subscribe/subscribe-ssl-parameter-invalid-200-async.yml} +0 -0
  485. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-invalid-200-sync.yml → integration/subscribe/subscribe-ssl-parameter-invalid-200-sync.yml} +0 -0
  486. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-invalid-non-200-async.yml → integration/subscribe/subscribe-ssl-parameter-invalid-non-200-async.yml} +0 -0
  487. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-invalid-non-200-sync.yml → integration/subscribe/subscribe-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  488. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-valid-200-async.yml → integration/subscribe/subscribe-ssl-parameter-valid-200-async.yml} +0 -0
  489. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-valid-200-sync.yml → integration/subscribe/subscribe-ssl-parameter-valid-200-sync.yml} +0 -0
  490. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-valid-non-200-async.yml → integration/subscribe/subscribe-ssl-parameter-valid-non-200-async.yml} +0 -0
  491. data/fixtures/vcr_cassettes/{subscribe-ssl-parameter-valid-non-200-sync.yml → integration/subscribe/subscribe-ssl-parameter-valid-non-200-sync.yml} +0 -0
  492. data/fixtures/vcr_cassettes/{subscription-event-invalid-json.yml → integration/subscribe/subscription-event-invalid-json.yml} +0 -0
  493. data/fixtures/vcr_cassettes/{subscription-event-non200.yml → integration/subscribe/subscription-event-non200.yml} +0 -0
  494. data/fixtures/vcr_cassettes/{time-nonssl-block-invalid-200-async.yml → integration/time/time-nonssl-block-invalid-200-async.yml} +0 -0
  495. data/fixtures/vcr_cassettes/{time-nonssl-block-invalid-200-sync.yml → integration/time/time-nonssl-block-invalid-200-sync.yml} +0 -0
  496. data/fixtures/vcr_cassettes/{time-nonssl-block-invalid-non-200-async.yml → integration/time/time-nonssl-block-invalid-non-200-async.yml} +0 -0
  497. data/fixtures/vcr_cassettes/{time-nonssl-block-invalid-non-200-sync.yml → integration/time/time-nonssl-block-invalid-non-200-sync.yml} +0 -0
  498. data/fixtures/vcr_cassettes/{time-nonssl-block-valid-200-async.yml → integration/time/time-nonssl-block-valid-200-async.yml} +0 -0
  499. data/fixtures/vcr_cassettes/{time-nonssl-block-valid-200-sync.yml → integration/time/time-nonssl-block-valid-200-sync.yml} +0 -0
  500. data/fixtures/vcr_cassettes/{time-nonssl-block-valid-non-200-async.yml → integration/time/time-nonssl-block-valid-non-200-async.yml} +0 -0
  501. data/fixtures/vcr_cassettes/{time-nonssl-block-valid-non-200-sync.yml → integration/time/time-nonssl-block-valid-non-200-sync.yml} +0 -0
  502. data/fixtures/vcr_cassettes/{time-nonssl-parameter-invalid-200-async.yml → integration/time/time-nonssl-parameter-invalid-200-async.yml} +0 -0
  503. data/fixtures/vcr_cassettes/{time-nonssl-parameter-invalid-200-sync.yml → integration/time/time-nonssl-parameter-invalid-200-sync.yml} +0 -0
  504. data/fixtures/vcr_cassettes/{time-nonssl-parameter-invalid-non-200-async.yml → integration/time/time-nonssl-parameter-invalid-non-200-async.yml} +0 -0
  505. data/fixtures/vcr_cassettes/{time-nonssl-parameter-invalid-non-200-sync.yml → integration/time/time-nonssl-parameter-invalid-non-200-sync.yml} +0 -0
  506. data/fixtures/vcr_cassettes/{time-nonssl-parameter-valid-200-async.yml → integration/time/time-nonssl-parameter-valid-200-async.yml} +0 -0
  507. data/fixtures/vcr_cassettes/{time-nonssl-parameter-valid-200-sync.yml → integration/time/time-nonssl-parameter-valid-200-sync.yml} +0 -0
  508. data/fixtures/vcr_cassettes/{time-nonssl-parameter-valid-non-200-async.yml → integration/time/time-nonssl-parameter-valid-non-200-async.yml} +0 -0
  509. data/fixtures/vcr_cassettes/{time-nonssl-parameter-valid-non-200-sync.yml → integration/time/time-nonssl-parameter-valid-non-200-sync.yml} +0 -0
  510. data/fixtures/vcr_cassettes/{time-ssl-block-invalid-200-async.yml → integration/time/time-ssl-block-invalid-200-async.yml} +0 -0
  511. data/fixtures/vcr_cassettes/{time-ssl-block-invalid-200-sync.yml → integration/time/time-ssl-block-invalid-200-sync.yml} +0 -0
  512. data/fixtures/vcr_cassettes/{time-ssl-block-invalid-non-200-async.yml → integration/time/time-ssl-block-invalid-non-200-async.yml} +0 -0
  513. data/fixtures/vcr_cassettes/{time-ssl-block-invalid-non-200-sync.yml → integration/time/time-ssl-block-invalid-non-200-sync.yml} +0 -0
  514. data/fixtures/vcr_cassettes/{time-ssl-block-valid-200-async.yml → integration/time/time-ssl-block-valid-200-async.yml} +0 -0
  515. data/fixtures/vcr_cassettes/{time-ssl-block-valid-200-sync.yml → integration/time/time-ssl-block-valid-200-sync.yml} +0 -0
  516. data/fixtures/vcr_cassettes/{time-ssl-block-valid-non-200-async.yml → integration/time/time-ssl-block-valid-non-200-async.yml} +0 -0
  517. data/fixtures/vcr_cassettes/{time-ssl-block-valid-non-200-sync.yml → integration/time/time-ssl-block-valid-non-200-sync.yml} +0 -0
  518. data/fixtures/vcr_cassettes/{time-ssl-parameter-invalid-200-async.yml → integration/time/time-ssl-parameter-invalid-200-async.yml} +0 -0
  519. data/fixtures/vcr_cassettes/{time-ssl-parameter-invalid-200-sync.yml → integration/time/time-ssl-parameter-invalid-200-sync.yml} +0 -0
  520. data/fixtures/vcr_cassettes/{time-ssl-parameter-invalid-non-200-async.yml → integration/time/time-ssl-parameter-invalid-non-200-async.yml} +0 -0
  521. data/fixtures/vcr_cassettes/{time-ssl-parameter-invalid-non-200-sync.yml → integration/time/time-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  522. data/fixtures/vcr_cassettes/{time-ssl-parameter-valid-200-async.yml → integration/time/time-ssl-parameter-valid-200-async.yml} +0 -0
  523. data/fixtures/vcr_cassettes/{time-ssl-parameter-valid-200-sync.yml → integration/time/time-ssl-parameter-valid-200-sync.yml} +0 -0
  524. data/fixtures/vcr_cassettes/{time-ssl-parameter-valid-non-200-async.yml → integration/time/time-ssl-parameter-valid-non-200-async.yml} +0 -0
  525. data/fixtures/vcr_cassettes/{time-ssl-parameter-valid-non-200-sync.yml → integration/time/time-ssl-parameter-valid-non-200-sync.yml} +0 -0
  526. data/fixtures/vcr_cassettes/{where_now-ssl-block-invalid-200-async.yml → integration/where_now/where_now-ssl-block-invalid-200-async.yml} +0 -0
  527. data/fixtures/vcr_cassettes/{where_now-ssl-block-invalid-200-sync.yml → integration/where_now/where_now-ssl-block-invalid-200-sync.yml} +0 -0
  528. data/fixtures/vcr_cassettes/{where_now-ssl-block-invalid-non-200-async.yml → integration/where_now/where_now-ssl-block-invalid-non-200-async.yml} +0 -0
  529. data/fixtures/vcr_cassettes/{where_now-ssl-block-invalid-non-200-sync.yml → integration/where_now/where_now-ssl-block-invalid-non-200-sync.yml} +0 -0
  530. data/fixtures/vcr_cassettes/{where_now-ssl-block-valid-200-async.yml → integration/where_now/where_now-ssl-block-valid-200-async.yml} +0 -0
  531. data/fixtures/vcr_cassettes/{where_now-ssl-block-valid-200-sync.yml → integration/where_now/where_now-ssl-block-valid-200-sync.yml} +0 -0
  532. data/fixtures/vcr_cassettes/{where_now-ssl-block-valid-non-200-async.yml → integration/where_now/where_now-ssl-block-valid-non-200-async.yml} +0 -0
  533. data/fixtures/vcr_cassettes/{where_now-ssl-block-valid-non-200-sync.yml → integration/where_now/where_now-ssl-block-valid-non-200-sync.yml} +0 -0
  534. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-invalid-200-async.yml → integration/where_now/where_now-ssl-parameter-invalid-200-async.yml} +0 -0
  535. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-invalid-200-sync.yml → integration/where_now/where_now-ssl-parameter-invalid-200-sync.yml} +0 -0
  536. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-invalid-non-200-async.yml → integration/where_now/where_now-ssl-parameter-invalid-non-200-async.yml} +0 -0
  537. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-invalid-non-200-sync.yml → integration/where_now/where_now-ssl-parameter-invalid-non-200-sync.yml} +0 -0
  538. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-valid-200-async.yml → integration/where_now/where_now-ssl-parameter-valid-200-async.yml} +0 -0
  539. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-valid-200-sync.yml → integration/where_now/where_now-ssl-parameter-valid-200-sync.yml} +0 -0
  540. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-valid-non-200-async.yml → integration/where_now/where_now-ssl-parameter-valid-non-200-async.yml} +0 -0
  541. data/fixtures/vcr_cassettes/{where_now-ssl-parameter-valid-non-200-sync.yml → integration/where_now/where_now-ssl-parameter-valid-non-200-sync.yml} +0 -0
  542. data/fixtures/vcr_cassettes/new_ones/multiplexed_subscribe.yml +8 -822
  543. data/fixtures/vcr_cassettes/publish/auth_key-no-secret_key.yml +44 -0
  544. data/fixtures/vcr_cassettes/publish/auth_key.yml +44 -0
  545. data/fixtures/vcr_cassettes/publish/basic-ssl.yml +44 -0
  546. data/fixtures/vcr_cassettes/publish/basic.yml +44 -0
  547. data/fixtures/vcr_cassettes/publish/cipher_key.yml +44 -0
  548. data/fixtures/vcr_cassettes/test_examples/1000000.yml +46 -0
  549. data/fixtures/vcr_cassettes/test_examples/1000001.yml +46 -0
  550. data/fixtures/vcr_cassettes/test_examples/1000002.yml +46 -0
  551. data/fixtures/vcr_cassettes/test_examples/1000003.yml +46 -0
  552. data/fixtures/vcr_cassettes/test_examples/1000004.yml +46 -0
  553. data/fixtures/vcr_cassettes/test_examples/1000005.yml +46 -0
  554. data/fixtures/vcr_cassettes/test_examples/1000006.yml +46 -0
  555. data/fixtures/vcr_cassettes/test_examples/1000007.yml +46 -0
  556. data/fixtures/vcr_cassettes/test_examples/1000008.yml +46 -0
  557. data/fixtures/vcr_cassettes/test_examples/1000009.yml +46 -0
  558. data/fixtures/vcr_cassettes/test_examples/1000010.yml +46 -0
  559. data/fixtures/vcr_cassettes/test_examples/1000011.yml +46 -0
  560. data/fixtures/vcr_cassettes/test_examples/1000012.yml +46 -0
  561. data/fixtures/vcr_cassettes/test_examples/1000013.yml +46 -0
  562. data/fixtures/vcr_cassettes/test_examples/1000014.yml +46 -0
  563. data/fixtures/vcr_cassettes/test_examples/1000015.yml +46 -0
  564. data/fixtures/vcr_cassettes/test_examples/1000016.yml +46 -0
  565. data/fixtures/vcr_cassettes/test_examples/1000017.yml +46 -0
  566. data/fixtures/vcr_cassettes/test_examples/1000018.yml +46 -0
  567. data/fixtures/vcr_cassettes/test_examples/1000019.yml +46 -0
  568. data/fixtures/vcr_cassettes/test_examples/1000020.yml +46 -0
  569. data/fixtures/vcr_cassettes/test_examples/1000021.yml +46 -0
  570. data/fixtures/vcr_cassettes/test_examples/1000022.yml +46 -0
  571. data/fixtures/vcr_cassettes/test_examples/1000023.yml +46 -0
  572. data/fixtures/vcr_cassettes/test_examples/1000024.yml +51 -0
  573. data/fixtures/vcr_cassettes/test_examples/1000025.yml +51 -0
  574. data/fixtures/vcr_cassettes/test_examples/1000026.yml +51 -0
  575. data/fixtures/vcr_cassettes/test_examples/1000027.yml +51 -0
  576. data/fixtures/vcr_cassettes/test_examples/1000028.yml +51 -0
  577. data/fixtures/vcr_cassettes/test_examples/1000029.yml +51 -0
  578. data/fixtures/vcr_cassettes/test_examples/1000030.yml +51 -0
  579. data/fixtures/vcr_cassettes/test_examples/1000031.yml +51 -0
  580. data/fixtures/vcr_cassettes/test_examples/1000032.yml +51 -0
  581. data/fixtures/vcr_cassettes/test_examples/1000033.yml +51 -0
  582. data/fixtures/vcr_cassettes/test_examples/1000034.yml +51 -0
  583. data/fixtures/vcr_cassettes/test_examples/1000035.yml +51 -0
  584. data/fixtures/vcr_cassettes/test_examples/1000036.yml +51 -0
  585. data/fixtures/vcr_cassettes/test_examples/1000037.yml +51 -0
  586. data/fixtures/vcr_cassettes/test_examples/1000038.yml +51 -0
  587. data/fixtures/vcr_cassettes/test_examples/1000039.yml +51 -0
  588. data/fixtures/vcr_cassettes/test_examples/1000040.yml +51 -0
  589. data/fixtures/vcr_cassettes/test_examples/1000041.yml +51 -0
  590. data/fixtures/vcr_cassettes/test_examples/1000042.yml +51 -0
  591. data/fixtures/vcr_cassettes/test_examples/1000043.yml +51 -0
  592. data/fixtures/vcr_cassettes/test_examples/1000044.yml +51 -0
  593. data/fixtures/vcr_cassettes/test_examples/1000045.yml +51 -0
  594. data/fixtures/vcr_cassettes/test_examples/1000046.yml +51 -0
  595. data/fixtures/vcr_cassettes/test_examples/1000047.yml +51 -0
  596. data/fixtures/vcr_cassettes/test_examples/1000048.yml +51 -0
  597. data/fixtures/vcr_cassettes/test_examples/1000049.yml +51 -0
  598. data/fixtures/vcr_cassettes/test_examples/1000050.yml +51 -0
  599. data/fixtures/vcr_cassettes/test_examples/1000051.yml +51 -0
  600. data/fixtures/vcr_cassettes/test_examples/1000052.yml +51 -0
  601. data/fixtures/vcr_cassettes/test_examples/1000053.yml +51 -0
  602. data/fixtures/vcr_cassettes/test_examples/1000054.yml +51 -0
  603. data/fixtures/vcr_cassettes/test_examples/1000055.yml +51 -0
  604. data/fixtures/vcr_cassettes/test_examples/1000056.yml +51 -0
  605. data/fixtures/vcr_cassettes/test_examples/1000057.yml +51 -0
  606. data/fixtures/vcr_cassettes/test_examples/1000058.yml +51 -0
  607. data/fixtures/vcr_cassettes/test_examples/1000059.yml +51 -0
  608. data/fixtures/vcr_cassettes/test_examples/1000060.yml +51 -0
  609. data/fixtures/vcr_cassettes/test_examples/1000061.yml +51 -0
  610. data/fixtures/vcr_cassettes/test_examples/1000062.yml +51 -0
  611. data/fixtures/vcr_cassettes/test_examples/1000063.yml +51 -0
  612. data/fixtures/vcr_cassettes/test_examples/1000064.yml +51 -0
  613. data/fixtures/vcr_cassettes/test_examples/1000065.yml +51 -0
  614. data/fixtures/vcr_cassettes/test_examples/1000066.yml +51 -0
  615. data/fixtures/vcr_cassettes/test_examples/1000067.yml +51 -0
  616. data/fixtures/vcr_cassettes/test_examples/1000068.yml +51 -0
  617. data/fixtures/vcr_cassettes/test_examples/1000069.yml +51 -0
  618. data/fixtures/vcr_cassettes/test_examples/1000070.yml +51 -0
  619. data/fixtures/vcr_cassettes/test_examples/1000071.yml +51 -0
  620. data/fixtures/vcr_cassettes/test_examples/1000072.yml +51 -0
  621. data/fixtures/vcr_cassettes/test_examples/1000073.yml +51 -0
  622. data/fixtures/vcr_cassettes/test_examples/1000074.yml +51 -0
  623. data/fixtures/vcr_cassettes/test_examples/1000075.yml +51 -0
  624. data/fixtures/vcr_cassettes/test_examples/1000076.yml +51 -0
  625. data/fixtures/vcr_cassettes/test_examples/1000077.yml +51 -0
  626. data/fixtures/vcr_cassettes/test_examples/1000078.yml +51 -0
  627. data/fixtures/vcr_cassettes/test_examples/1000079.yml +51 -0
  628. data/fixtures/vcr_cassettes/test_examples/1000080.yml +51 -0
  629. data/fixtures/vcr_cassettes/test_examples/1000081.yml +51 -0
  630. data/fixtures/vcr_cassettes/test_examples/1000082.yml +51 -0
  631. data/fixtures/vcr_cassettes/test_examples/1000083.yml +51 -0
  632. data/fixtures/vcr_cassettes/test_examples/1000084.yml +51 -0
  633. data/fixtures/vcr_cassettes/test_examples/1000085.yml +51 -0
  634. data/fixtures/vcr_cassettes/test_examples/1000086.yml +51 -0
  635. data/fixtures/vcr_cassettes/test_examples/1000087.yml +51 -0
  636. data/fixtures/vcr_cassettes/test_examples/1000088.yml +51 -0
  637. data/fixtures/vcr_cassettes/test_examples/1000089.yml +51 -0
  638. data/fixtures/vcr_cassettes/test_examples/1000090.yml +51 -0
  639. data/fixtures/vcr_cassettes/test_examples/1000091.yml +51 -0
  640. data/fixtures/vcr_cassettes/test_examples/1000092.yml +51 -0
  641. data/fixtures/vcr_cassettes/test_examples/1000093.yml +51 -0
  642. data/fixtures/vcr_cassettes/test_examples/1000094.yml +51 -0
  643. data/fixtures/vcr_cassettes/test_examples/1000095.yml +51 -0
  644. data/fixtures/vcr_cassettes/test_examples/1000096.yml +51 -0
  645. data/fixtures/vcr_cassettes/test_examples/1000097.yml +51 -0
  646. data/fixtures/vcr_cassettes/test_examples/1000098.yml +51 -0
  647. data/fixtures/vcr_cassettes/test_examples/1000099.yml +51 -0
  648. data/fixtures/vcr_cassettes/test_examples/1000100.yml +51 -0
  649. data/fixtures/vcr_cassettes/test_examples/1000101.yml +51 -0
  650. data/fixtures/vcr_cassettes/test_examples/1000102.yml +51 -0
  651. data/fixtures/vcr_cassettes/test_examples/1000103.yml +51 -0
  652. data/fixtures/vcr_cassettes/test_examples/1000104.yml +51 -0
  653. data/fixtures/vcr_cassettes/test_examples/1000105.yml +51 -0
  654. data/fixtures/vcr_cassettes/test_examples/1000106.yml +51 -0
  655. data/fixtures/vcr_cassettes/test_examples/1000107.yml +51 -0
  656. data/fixtures/vcr_cassettes/test_examples/1000108.yml +51 -0
  657. data/fixtures/vcr_cassettes/test_examples/1000109.yml +51 -0
  658. data/fixtures/vcr_cassettes/test_examples/1000110.yml +51 -0
  659. data/fixtures/vcr_cassettes/test_examples/1000111.yml +51 -0
  660. data/fixtures/vcr_cassettes/test_examples/1000112.yml +51 -0
  661. data/fixtures/vcr_cassettes/test_examples/1000113.yml +51 -0
  662. data/fixtures/vcr_cassettes/test_examples/1000114.yml +51 -0
  663. data/fixtures/vcr_cassettes/test_examples/1000115.yml +51 -0
  664. data/fixtures/vcr_cassettes/test_examples/1000116.yml +51 -0
  665. data/fixtures/vcr_cassettes/test_examples/1000117.yml +51 -0
  666. data/fixtures/vcr_cassettes/test_examples/1000118.yml +51 -0
  667. data/fixtures/vcr_cassettes/test_examples/1000119.yml +51 -0
  668. data/fixtures/vcr_cassettes/test_examples/1000120.yml +51 -0
  669. data/fixtures/vcr_cassettes/test_examples/1000121.yml +51 -0
  670. data/fixtures/vcr_cassettes/test_examples/1000122.yml +51 -0
  671. data/fixtures/vcr_cassettes/test_examples/1000123.yml +51 -0
  672. data/fixtures/vcr_cassettes/test_examples/1000124.yml +51 -0
  673. data/fixtures/vcr_cassettes/test_examples/1000125.yml +51 -0
  674. data/fixtures/vcr_cassettes/test_examples/1000126.yml +51 -0
  675. data/fixtures/vcr_cassettes/test_examples/1000127.yml +51 -0
  676. data/fixtures/vcr_cassettes/test_examples/1000128.yml +51 -0
  677. data/fixtures/vcr_cassettes/test_examples/1000129.yml +51 -0
  678. data/fixtures/vcr_cassettes/test_examples/1000130.yml +51 -0
  679. data/fixtures/vcr_cassettes/test_examples/1000131.yml +51 -0
  680. data/fixtures/vcr_cassettes/test_examples/1000132.yml +51 -0
  681. data/fixtures/vcr_cassettes/test_examples/1000133.yml +51 -0
  682. data/fixtures/vcr_cassettes/test_examples/1000134.yml +51 -0
  683. data/fixtures/vcr_cassettes/test_examples/1000135.yml +51 -0
  684. data/fixtures/vcr_cassettes/test_examples/1000136.yml +46 -0
  685. data/fixtures/vcr_cassettes/test_examples/1000137.yml +46 -0
  686. data/fixtures/vcr_cassettes/test_examples/1000138.yml +46 -0
  687. data/fixtures/vcr_cassettes/test_examples/1000139.yml +46 -0
  688. data/fixtures/vcr_cassettes/test_examples/1000140.yml +46 -0
  689. data/fixtures/vcr_cassettes/test_examples/1000141.yml +46 -0
  690. data/fixtures/vcr_cassettes/test_examples/1000142.yml +46 -0
  691. data/fixtures/vcr_cassettes/test_examples/1000143.yml +46 -0
  692. data/fixtures/vcr_cassettes/test_examples/1000144.yml +46 -0
  693. data/fixtures/vcr_cassettes/test_examples/1000145.yml +46 -0
  694. data/fixtures/vcr_cassettes/test_examples/1000146.yml +46 -0
  695. data/fixtures/vcr_cassettes/test_examples/1000147.yml +46 -0
  696. data/fixtures/vcr_cassettes/test_examples/1000148.yml +46 -0
  697. data/fixtures/vcr_cassettes/test_examples/1000149.yml +46 -0
  698. data/fixtures/vcr_cassettes/test_examples/1000150.yml +46 -0
  699. data/fixtures/vcr_cassettes/test_examples/1000151.yml +46 -0
  700. data/fixtures/vcr_cassettes/test_examples/1000152.yml +46 -0
  701. data/fixtures/vcr_cassettes/test_examples/1000153.yml +46 -0
  702. data/fixtures/vcr_cassettes/test_examples/1000154.yml +46 -0
  703. data/fixtures/vcr_cassettes/test_examples/1000155.yml +46 -0
  704. data/fixtures/vcr_cassettes/test_examples/1000156.yml +46 -0
  705. data/fixtures/vcr_cassettes/test_examples/1000157.yml +46 -0
  706. data/fixtures/vcr_cassettes/test_examples/1000158.yml +46 -0
  707. data/fixtures/vcr_cassettes/test_examples/1000159.yml +46 -0
  708. data/fixtures/vcr_cassettes/test_examples/1000160.yml +46 -0
  709. data/fixtures/vcr_cassettes/test_examples/1000161.yml +46 -0
  710. data/fixtures/vcr_cassettes/test_examples/1000162.yml +46 -0
  711. data/fixtures/vcr_cassettes/test_examples/1000163.yml +46 -0
  712. data/fixtures/vcr_cassettes/test_examples/1000164.yml +46 -0
  713. data/fixtures/vcr_cassettes/test_examples/1000165.yml +46 -0
  714. data/fixtures/vcr_cassettes/test_examples/1000166.yml +46 -0
  715. data/fixtures/vcr_cassettes/test_examples/1000167.yml +46 -0
  716. data/fixtures/vcr_cassettes/test_examples/1000168.yml +46 -0
  717. data/fixtures/vcr_cassettes/test_examples/1000169.yml +46 -0
  718. data/fixtures/vcr_cassettes/test_examples/1000170.yml +46 -0
  719. data/fixtures/vcr_cassettes/test_examples/1000171.yml +46 -0
  720. data/fixtures/vcr_cassettes/test_examples/1000172.yml +46 -0
  721. data/fixtures/vcr_cassettes/test_examples/1000173.yml +46 -0
  722. data/fixtures/vcr_cassettes/test_examples/1000174.yml +46 -0
  723. data/fixtures/vcr_cassettes/test_examples/1000175.yml +46 -0
  724. data/fixtures/vcr_cassettes/test_examples/1000176.yml +46 -0
  725. data/fixtures/vcr_cassettes/test_examples/1000177.yml +46 -0
  726. data/fixtures/vcr_cassettes/test_examples/1000178.yml +46 -0
  727. data/fixtures/vcr_cassettes/test_examples/1000179.yml +46 -0
  728. data/fixtures/vcr_cassettes/test_examples/1000180.yml +46 -0
  729. data/fixtures/vcr_cassettes/test_examples/1000181.yml +46 -0
  730. data/fixtures/vcr_cassettes/test_examples/1000182.yml +46 -0
  731. data/fixtures/vcr_cassettes/test_examples/1000183.yml +46 -0
  732. data/fixtures/vcr_cassettes/test_examples/1000184.yml +46 -0
  733. data/fixtures/vcr_cassettes/test_examples/1000185.yml +46 -0
  734. data/fixtures/vcr_cassettes/test_examples/1000186.yml +46 -0
  735. data/fixtures/vcr_cassettes/test_examples/1000187.yml +46 -0
  736. data/fixtures/vcr_cassettes/test_examples/1000188.yml +46 -0
  737. data/fixtures/vcr_cassettes/test_examples/1000189.yml +46 -0
  738. data/fixtures/vcr_cassettes/test_examples/1000190.yml +46 -0
  739. data/fixtures/vcr_cassettes/test_examples/1000191.yml +46 -0
  740. data/fixtures/vcr_cassettes/test_examples/1000192.yml +46 -0
  741. data/fixtures/vcr_cassettes/test_examples/1000193.yml +46 -0
  742. data/fixtures/vcr_cassettes/test_examples/1000194.yml +46 -0
  743. data/fixtures/vcr_cassettes/test_examples/1000195.yml +46 -0
  744. data/fixtures/vcr_cassettes/test_examples/1000196.yml +46 -0
  745. data/fixtures/vcr_cassettes/test_examples/1000197.yml +46 -0
  746. data/fixtures/vcr_cassettes/test_examples/1000198.yml +46 -0
  747. data/fixtures/vcr_cassettes/test_examples/1000199.yml +46 -0
  748. data/fixtures/vcr_cassettes/test_examples/1000200.yml +46 -0
  749. data/fixtures/vcr_cassettes/test_examples/1000201.yml +46 -0
  750. data/fixtures/vcr_cassettes/test_examples/1000202.yml +46 -0
  751. data/fixtures/vcr_cassettes/test_examples/1000203.yml +46 -0
  752. data/fixtures/vcr_cassettes/test_examples/1000204.yml +46 -0
  753. data/fixtures/vcr_cassettes/test_examples/1000205.yml +46 -0
  754. data/fixtures/vcr_cassettes/test_examples/1000206.yml +46 -0
  755. data/fixtures/vcr_cassettes/test_examples/1000207.yml +46 -0
  756. data/fixtures/vcr_cassettes/test_examples/1000208.yml +46 -0
  757. data/fixtures/vcr_cassettes/test_examples/1000209.yml +46 -0
  758. data/fixtures/vcr_cassettes/test_examples/1000210.yml +46 -0
  759. data/fixtures/vcr_cassettes/test_examples/1000211.yml +46 -0
  760. data/fixtures/vcr_cassettes/test_examples/1000212.yml +46 -0
  761. data/fixtures/vcr_cassettes/test_examples/1000213.yml +46 -0
  762. data/fixtures/vcr_cassettes/test_examples/1000214.yml +46 -0
  763. data/fixtures/vcr_cassettes/test_examples/1000215.yml +46 -0
  764. data/fixtures/vcr_cassettes/test_examples/1000216.yml +46 -0
  765. data/fixtures/vcr_cassettes/test_examples/1000217.yml +46 -0
  766. data/fixtures/vcr_cassettes/test_examples/1000218.yml +46 -0
  767. data/fixtures/vcr_cassettes/test_examples/1000219.yml +46 -0
  768. data/fixtures/vcr_cassettes/test_examples/1000220.yml +46 -0
  769. data/fixtures/vcr_cassettes/test_examples/1000221.yml +46 -0
  770. data/fixtures/vcr_cassettes/test_examples/1000222.yml +46 -0
  771. data/fixtures/vcr_cassettes/test_examples/1000223.yml +46 -0
  772. data/fixtures/vcr_cassettes/test_examples/1000224.yml +46 -0
  773. data/fixtures/vcr_cassettes/test_examples/1000225.yml +46 -0
  774. data/fixtures/vcr_cassettes/test_examples/1000226.yml +46 -0
  775. data/fixtures/vcr_cassettes/test_examples/1000227.yml +46 -0
  776. data/fixtures/vcr_cassettes/test_examples/1000228.yml +46 -0
  777. data/fixtures/vcr_cassettes/test_examples/1000229.yml +46 -0
  778. data/fixtures/vcr_cassettes/test_examples/1000230.yml +46 -0
  779. data/fixtures/vcr_cassettes/test_examples/1000231.yml +46 -0
  780. data/fixtures/vcr_cassettes/test_examples/1000232.yml +46 -0
  781. data/fixtures/vcr_cassettes/test_examples/1000233.yml +46 -0
  782. data/fixtures/vcr_cassettes/test_examples/1000234.yml +46 -0
  783. data/fixtures/vcr_cassettes/test_examples/1000235.yml +46 -0
  784. data/fixtures/vcr_cassettes/test_examples/1000236.yml +46 -0
  785. data/fixtures/vcr_cassettes/test_examples/1000237.yml +46 -0
  786. data/fixtures/vcr_cassettes/test_examples/1000238.yml +46 -0
  787. data/fixtures/vcr_cassettes/test_examples/1000239.yml +46 -0
  788. data/fixtures/vcr_cassettes/test_examples/1000240.yml +46 -0
  789. data/fixtures/vcr_cassettes/test_examples/1000241.yml +46 -0
  790. data/fixtures/vcr_cassettes/test_examples/1000242.yml +46 -0
  791. data/fixtures/vcr_cassettes/test_examples/1000243.yml +46 -0
  792. data/fixtures/vcr_cassettes/test_examples/1000244.yml +51 -0
  793. data/fixtures/vcr_cassettes/test_examples/1000245.yml +51 -0
  794. data/fixtures/vcr_cassettes/test_examples/1000246.yml +51 -0
  795. data/fixtures/vcr_cassettes/test_examples/1000247.yml +51 -0
  796. data/fixtures/vcr_cassettes/test_examples/1000248.yml +51 -0
  797. data/fixtures/vcr_cassettes/test_examples/1000249.yml +51 -0
  798. data/fixtures/vcr_cassettes/test_examples/1000250.yml +51 -0
  799. data/fixtures/vcr_cassettes/test_examples/1000251.yml +51 -0
  800. data/fixtures/vcr_cassettes/test_examples/1000252.yml +51 -0
  801. data/fixtures/vcr_cassettes/test_examples/1000253.yml +51 -0
  802. data/fixtures/vcr_cassettes/test_examples/1000254.yml +51 -0
  803. data/fixtures/vcr_cassettes/test_examples/1000255.yml +51 -0
  804. data/fixtures/vcr_cassettes/test_examples/1000256.yml +50 -0
  805. data/fixtures/vcr_cassettes/test_examples/1000257.yml +50 -0
  806. data/fixtures/vcr_cassettes/test_examples/1000258.yml +50 -0
  807. data/fixtures/vcr_cassettes/test_examples/1000259.yml +50 -0
  808. data/fixtures/vcr_cassettes/test_examples/1000260.yml +50 -0
  809. data/fixtures/vcr_cassettes/test_examples/1000261.yml +50 -0
  810. data/fixtures/vcr_cassettes/test_examples/1000262.yml +50 -0
  811. data/fixtures/vcr_cassettes/test_examples/1000263.yml +50 -0
  812. data/fixtures/vcr_cassettes/test_examples/1000264.yml +50 -0
  813. data/fixtures/vcr_cassettes/test_examples/1000265.yml +50 -0
  814. data/fixtures/vcr_cassettes/test_examples/1000266.yml +50 -0
  815. data/fixtures/vcr_cassettes/test_examples/1000267.yml +50 -0
  816. data/fixtures/vcr_cassettes/test_examples/1000268.yml +50 -0
  817. data/fixtures/vcr_cassettes/test_examples/1000269.yml +50 -0
  818. data/fixtures/vcr_cassettes/test_examples/1000270.yml +50 -0
  819. data/fixtures/vcr_cassettes/test_examples/1000271.yml +50 -0
  820. data/fixtures/vcr_cassettes/test_examples/1000272.yml +50 -0
  821. data/fixtures/vcr_cassettes/test_examples/1000273.yml +50 -0
  822. data/fixtures/vcr_cassettes/test_examples/1000274.yml +50 -0
  823. data/fixtures/vcr_cassettes/test_examples/1000275.yml +50 -0
  824. data/fixtures/vcr_cassettes/test_examples/1000276.yml +50 -0
  825. data/fixtures/vcr_cassettes/test_examples/1000277.yml +50 -0
  826. data/fixtures/vcr_cassettes/test_examples/1000278.yml +50 -0
  827. data/fixtures/vcr_cassettes/test_examples/1000279.yml +50 -0
  828. data/fixtures/vcr_cassettes/test_examples/1000280.yml +50 -0
  829. data/fixtures/vcr_cassettes/test_examples/1000281.yml +50 -0
  830. data/fixtures/vcr_cassettes/test_examples/1000282.yml +50 -0
  831. data/fixtures/vcr_cassettes/test_examples/1000283.yml +50 -0
  832. data/fixtures/vcr_cassettes/test_examples/1000284.yml +50 -0
  833. data/fixtures/vcr_cassettes/test_examples/1000285.yml +50 -0
  834. data/fixtures/vcr_cassettes/test_examples/1000286.yml +50 -0
  835. data/fixtures/vcr_cassettes/test_examples/1000287.yml +50 -0
  836. data/fixtures/vcr_cassettes/test_examples/1000288.yml +50 -0
  837. data/fixtures/vcr_cassettes/test_examples/1000289.yml +50 -0
  838. data/fixtures/vcr_cassettes/test_examples/1000290.yml +50 -0
  839. data/fixtures/vcr_cassettes/test_examples/1000291.yml +50 -0
  840. data/fixtures/vcr_cassettes/test_examples/1000292.yml +50 -0
  841. data/fixtures/vcr_cassettes/test_examples/1000293.yml +50 -0
  842. data/fixtures/vcr_cassettes/test_examples/1000294.yml +50 -0
  843. data/fixtures/vcr_cassettes/test_examples/1000295.yml +50 -0
  844. data/fixtures/vcr_cassettes/test_examples/1000296.yml +50 -0
  845. data/fixtures/vcr_cassettes/test_examples/1000297.yml +50 -0
  846. data/fixtures/vcr_cassettes/test_examples/1000298.yml +50 -0
  847. data/fixtures/vcr_cassettes/test_examples/1000299.yml +50 -0
  848. data/fixtures/vcr_cassettes/test_examples/1000300.yml +50 -0
  849. data/fixtures/vcr_cassettes/test_examples/1000301.yml +50 -0
  850. data/fixtures/vcr_cassettes/test_examples/1000302.yml +50 -0
  851. data/fixtures/vcr_cassettes/test_examples/1000303.yml +50 -0
  852. data/fixtures/vcr_cassettes/test_examples/1000304.yml +50 -0
  853. data/fixtures/vcr_cassettes/test_examples/1000305.yml +50 -0
  854. data/fixtures/vcr_cassettes/test_examples/1000306.yml +50 -0
  855. data/fixtures/vcr_cassettes/test_examples/1000307.yml +50 -0
  856. data/fixtures/vcr_cassettes/test_examples/1000308.yml +50 -0
  857. data/fixtures/vcr_cassettes/test_examples/1000309.yml +50 -0
  858. data/fixtures/vcr_cassettes/test_examples/1000310.yml +50 -0
  859. data/fixtures/vcr_cassettes/test_examples/1000311.yml +50 -0
  860. data/fixtures/vcr_cassettes/test_examples/1000312.yml +50 -0
  861. data/fixtures/vcr_cassettes/test_examples/1000313.yml +50 -0
  862. data/fixtures/vcr_cassettes/test_examples/1000314.yml +50 -0
  863. data/fixtures/vcr_cassettes/test_examples/1000315.yml +50 -0
  864. data/fixtures/vcr_cassettes/test_examples/1000316.yml +50 -0
  865. data/fixtures/vcr_cassettes/test_examples/1000317.yml +50 -0
  866. data/fixtures/vcr_cassettes/test_examples/1000318.yml +50 -0
  867. data/fixtures/vcr_cassettes/test_examples/1000319.yml +50 -0
  868. data/fixtures/vcr_cassettes/test_examples/1000320.yml +50 -0
  869. data/fixtures/vcr_cassettes/test_examples/1000321.yml +50 -0
  870. data/fixtures/vcr_cassettes/test_examples/1000322.yml +50 -0
  871. data/fixtures/vcr_cassettes/test_examples/1000323.yml +50 -0
  872. data/fixtures/vcr_cassettes/test_examples/1000324.yml +50 -0
  873. data/fixtures/vcr_cassettes/test_examples/1000325.yml +50 -0
  874. data/fixtures/vcr_cassettes/test_examples/1000326.yml +50 -0
  875. data/fixtures/vcr_cassettes/test_examples/1000327.yml +50 -0
  876. data/fixtures/vcr_cassettes/test_examples/1000328.yml +50 -0
  877. data/fixtures/vcr_cassettes/test_examples/1000329.yml +50 -0
  878. data/fixtures/vcr_cassettes/test_examples/1000330.yml +50 -0
  879. data/fixtures/vcr_cassettes/test_examples/1000331.yml +50 -0
  880. data/fixtures/vcr_cassettes/test_examples/1000332.yml +50 -0
  881. data/fixtures/vcr_cassettes/test_examples/1000333.yml +50 -0
  882. data/fixtures/vcr_cassettes/test_examples/1000334.yml +50 -0
  883. data/fixtures/vcr_cassettes/test_examples/1000335.yml +50 -0
  884. data/fixtures/vcr_cassettes/test_examples/1000336.yml +50 -0
  885. data/fixtures/vcr_cassettes/test_examples/1000337.yml +50 -0
  886. data/fixtures/vcr_cassettes/test_examples/1000338.yml +50 -0
  887. data/fixtures/vcr_cassettes/test_examples/1000339.yml +50 -0
  888. data/fixtures/vcr_cassettes/test_examples/1000340.yml +50 -0
  889. data/fixtures/vcr_cassettes/test_examples/1000341.yml +50 -0
  890. data/fixtures/vcr_cassettes/test_examples/1000342.yml +50 -0
  891. data/fixtures/vcr_cassettes/test_examples/1000343.yml +50 -0
  892. data/fixtures/vcr_cassettes/test_examples/1000344.yml +50 -0
  893. data/fixtures/vcr_cassettes/test_examples/1000345.yml +50 -0
  894. data/fixtures/vcr_cassettes/test_examples/1000346.yml +50 -0
  895. data/fixtures/vcr_cassettes/test_examples/1000347.yml +50 -0
  896. data/fixtures/vcr_cassettes/test_examples/1000348.yml +50 -0
  897. data/fixtures/vcr_cassettes/test_examples/1000349.yml +50 -0
  898. data/fixtures/vcr_cassettes/test_examples/1000350.yml +50 -0
  899. data/fixtures/vcr_cassettes/test_examples/1000351.yml +50 -0
  900. data/fixtures/vcr_cassettes/test_examples/1000352.yml +50 -0
  901. data/fixtures/vcr_cassettes/test_examples/1000353.yml +50 -0
  902. data/fixtures/vcr_cassettes/test_examples/1000354.yml +50 -0
  903. data/fixtures/vcr_cassettes/test_examples/1000355.yml +50 -0
  904. data/fixtures/vcr_cassettes/test_examples/1000356.yml +50 -0
  905. data/fixtures/vcr_cassettes/test_examples/1000357.yml +50 -0
  906. data/fixtures/vcr_cassettes/test_examples/1000358.yml +50 -0
  907. data/fixtures/vcr_cassettes/test_examples/1000359.yml +50 -0
  908. data/fixtures/vcr_cassettes/test_examples/1000360.yml +50 -0
  909. data/fixtures/vcr_cassettes/test_examples/1000361.yml +50 -0
  910. data/fixtures/vcr_cassettes/test_examples/1000362.yml +50 -0
  911. data/fixtures/vcr_cassettes/test_examples/1000363.yml +50 -0
  912. data/fixtures/vcr_cassettes/test_examples/1000364.yml +50 -0
  913. data/fixtures/vcr_cassettes/test_examples/1000365.yml +50 -0
  914. data/fixtures/vcr_cassettes/test_examples/1000366.yml +50 -0
  915. data/fixtures/vcr_cassettes/test_examples/1000367.yml +50 -0
  916. data/fixtures/vcr_cassettes/test_examples/1000368.yml +50 -0
  917. data/fixtures/vcr_cassettes/test_examples/1000369.yml +50 -0
  918. data/fixtures/vcr_cassettes/test_examples/1000370.yml +50 -0
  919. data/fixtures/vcr_cassettes/test_examples/1000371.yml +50 -0
  920. data/fixtures/vcr_cassettes/test_examples/1000372.yml +50 -0
  921. data/fixtures/vcr_cassettes/test_examples/1000373.yml +50 -0
  922. data/fixtures/vcr_cassettes/test_examples/1000374.yml +50 -0
  923. data/fixtures/vcr_cassettes/test_examples/1000375.yml +50 -0
  924. data/fixtures/vcr_cassettes/test_examples/1000376.yml +50 -0
  925. data/fixtures/vcr_cassettes/test_examples/1000377.yml +50 -0
  926. data/fixtures/vcr_cassettes/test_examples/1000378.yml +50 -0
  927. data/fixtures/vcr_cassettes/test_examples/1000379.yml +50 -0
  928. data/fixtures/vcr_cassettes/test_examples/1000380.yml +50 -0
  929. data/fixtures/vcr_cassettes/test_examples/1000381.yml +50 -0
  930. data/fixtures/vcr_cassettes/test_examples/1000382.yml +50 -0
  931. data/fixtures/vcr_cassettes/test_examples/1000383.yml +50 -0
  932. data/fixtures/vcr_cassettes/test_examples/1000384.yml +50 -0
  933. data/fixtures/vcr_cassettes/test_examples/1000385.yml +50 -0
  934. data/fixtures/vcr_cassettes/test_examples/1000386.yml +50 -0
  935. data/fixtures/vcr_cassettes/test_examples/1000387.yml +50 -0
  936. data/fixtures/vcr_cassettes/test_examples/1000388.yml +50 -0
  937. data/fixtures/vcr_cassettes/test_examples/1000389.yml +50 -0
  938. data/fixtures/vcr_cassettes/test_examples/1000390.yml +50 -0
  939. data/fixtures/vcr_cassettes/test_examples/1000391.yml +50 -0
  940. data/fixtures/vcr_cassettes/test_examples/1000392.yml +50 -0
  941. data/fixtures/vcr_cassettes/test_examples/1000393.yml +50 -0
  942. data/fixtures/vcr_cassettes/test_examples/1000394.yml +50 -0
  943. data/fixtures/vcr_cassettes/test_examples/1000395.yml +50 -0
  944. data/fixtures/vcr_cassettes/test_examples/1000396.yml +50 -0
  945. data/fixtures/vcr_cassettes/test_examples/1000397.yml +50 -0
  946. data/fixtures/vcr_cassettes/test_examples/1000398.yml +50 -0
  947. data/fixtures/vcr_cassettes/test_examples/1000399.yml +50 -0
  948. data/fixtures/vcr_cassettes/test_examples/1000400.yml +50 -0
  949. data/fixtures/vcr_cassettes/test_examples/1000401.yml +50 -0
  950. data/fixtures/vcr_cassettes/test_examples/1000402.yml +50 -0
  951. data/fixtures/vcr_cassettes/test_examples/1000403.yml +50 -0
  952. data/fixtures/vcr_cassettes/test_examples/1000404.yml +50 -0
  953. data/fixtures/vcr_cassettes/test_examples/1000405.yml +50 -0
  954. data/fixtures/vcr_cassettes/test_examples/1000406.yml +50 -0
  955. data/fixtures/vcr_cassettes/test_examples/1000407.yml +50 -0
  956. data/fixtures/vcr_cassettes/test_examples/1000408.yml +50 -0
  957. data/fixtures/vcr_cassettes/test_examples/1000409.yml +50 -0
  958. data/fixtures/vcr_cassettes/test_examples/1000410.yml +50 -0
  959. data/fixtures/vcr_cassettes/test_examples/1000411.yml +50 -0
  960. data/fixtures/vcr_cassettes/test_examples/1000412.yml +50 -0
  961. data/fixtures/vcr_cassettes/test_examples/1000413.yml +50 -0
  962. data/fixtures/vcr_cassettes/test_examples/1000414.yml +50 -0
  963. data/fixtures/vcr_cassettes/test_examples/1000415.yml +50 -0
  964. data/fixtures/vcr_cassettes/test_examples/1000416.yml +50 -0
  965. data/fixtures/vcr_cassettes/test_examples/1000417.yml +50 -0
  966. data/fixtures/vcr_cassettes/test_examples/1000418.yml +50 -0
  967. data/fixtures/vcr_cassettes/test_examples/1000419.yml +50 -0
  968. data/fixtures/vcr_cassettes/test_examples/1000420.yml +50 -0
  969. data/fixtures/vcr_cassettes/test_examples/1000421.yml +50 -0
  970. data/fixtures/vcr_cassettes/test_examples/1000422.yml +50 -0
  971. data/fixtures/vcr_cassettes/test_examples/1000423.yml +50 -0
  972. data/fixtures/vcr_cassettes/test_examples/1000424.yml +50 -0
  973. data/fixtures/vcr_cassettes/test_examples/1000425.yml +50 -0
  974. data/fixtures/vcr_cassettes/test_examples/1000426.yml +50 -0
  975. data/fixtures/vcr_cassettes/test_examples/1000427.yml +50 -0
  976. data/fixtures/vcr_cassettes/test_examples/1000428.yml +50 -0
  977. data/fixtures/vcr_cassettes/test_examples/1000429.yml +50 -0
  978. data/fixtures/vcr_cassettes/test_examples/1000430.yml +50 -0
  979. data/fixtures/vcr_cassettes/test_examples/1000431.yml +50 -0
  980. data/fixtures/vcr_cassettes/test_examples/1000432.yml +50 -0
  981. data/fixtures/vcr_cassettes/test_examples/1000433.yml +50 -0
  982. data/fixtures/vcr_cassettes/test_examples/1000434.yml +50 -0
  983. data/fixtures/vcr_cassettes/test_examples/1000435.yml +50 -0
  984. data/fixtures/vcr_cassettes/test_examples/1000436.yml +50 -0
  985. data/fixtures/vcr_cassettes/test_examples/1000437.yml +50 -0
  986. data/fixtures/vcr_cassettes/test_examples/1000438.yml +50 -0
  987. data/fixtures/vcr_cassettes/test_examples/1000439.yml +50 -0
  988. data/fixtures/vcr_cassettes/test_examples/1000440.yml +50 -0
  989. data/fixtures/vcr_cassettes/test_examples/1000441.yml +50 -0
  990. data/fixtures/vcr_cassettes/test_examples/1000442.yml +50 -0
  991. data/fixtures/vcr_cassettes/test_examples/1000443.yml +50 -0
  992. data/fixtures/vcr_cassettes/test_examples/1000444.yml +50 -0
  993. data/fixtures/vcr_cassettes/test_examples/1000445.yml +50 -0
  994. data/fixtures/vcr_cassettes/test_examples/1000446.yml +50 -0
  995. data/fixtures/vcr_cassettes/test_examples/1000447.yml +50 -0
  996. data/fixtures/vcr_cassettes/test_examples/1000448.yml +50 -0
  997. data/fixtures/vcr_cassettes/test_examples/1000449.yml +50 -0
  998. data/fixtures/vcr_cassettes/test_examples/1000450.yml +50 -0
  999. data/fixtures/vcr_cassettes/test_examples/1000451.yml +50 -0
  1000. data/fixtures/vcr_cassettes/test_examples/1000452.yml +50 -0
  1001. data/fixtures/vcr_cassettes/test_examples/1000453.yml +50 -0
  1002. data/fixtures/vcr_cassettes/test_examples/1000454.yml +50 -0
  1003. data/fixtures/vcr_cassettes/test_examples/1000455.yml +50 -0
  1004. data/fixtures/vcr_cassettes/test_examples/1000456.yml +50 -0
  1005. data/fixtures/vcr_cassettes/test_examples/1000457.yml +50 -0
  1006. data/fixtures/vcr_cassettes/test_examples/1000458.yml +50 -0
  1007. data/fixtures/vcr_cassettes/test_examples/1000459.yml +50 -0
  1008. data/fixtures/vcr_cassettes/test_examples/1000460.yml +50 -0
  1009. data/fixtures/vcr_cassettes/test_examples/1000461.yml +50 -0
  1010. data/fixtures/vcr_cassettes/test_examples/1000462.yml +50 -0
  1011. data/fixtures/vcr_cassettes/test_examples/1000463.yml +50 -0
  1012. data/fixtures/vcr_cassettes/test_examples/1000464.yml +50 -0
  1013. data/fixtures/vcr_cassettes/test_examples/1000465.yml +50 -0
  1014. data/fixtures/vcr_cassettes/test_examples/1000466.yml +50 -0
  1015. data/fixtures/vcr_cassettes/test_examples/1000467.yml +50 -0
  1016. data/fixtures/vcr_cassettes/test_examples/1000468.yml +50 -0
  1017. data/fixtures/vcr_cassettes/test_examples/1000469.yml +50 -0
  1018. data/fixtures/vcr_cassettes/test_examples/1000470.yml +50 -0
  1019. data/fixtures/vcr_cassettes/test_examples/1000471.yml +50 -0
  1020. data/fixtures/vcr_cassettes/test_examples/1000472.yml +50 -0
  1021. data/fixtures/vcr_cassettes/test_examples/1000473.yml +50 -0
  1022. data/fixtures/vcr_cassettes/test_examples/1000474.yml +50 -0
  1023. data/fixtures/vcr_cassettes/test_examples/1000475.yml +50 -0
  1024. data/fixtures/vcr_cassettes/test_examples/1000476.yml +50 -0
  1025. data/fixtures/vcr_cassettes/test_examples/1000477.yml +50 -0
  1026. data/fixtures/vcr_cassettes/test_examples/1000478.yml +50 -0
  1027. data/fixtures/vcr_cassettes/test_examples/1000479.yml +50 -0
  1028. data/fixtures/vcr_cassettes/test_examples/1000480.yml +50 -0
  1029. data/fixtures/vcr_cassettes/test_examples/1000481.yml +50 -0
  1030. data/fixtures/vcr_cassettes/test_examples/1000482.yml +50 -0
  1031. data/fixtures/vcr_cassettes/test_examples/1000483.yml +50 -0
  1032. data/fixtures/vcr_cassettes/test_examples/1000484.yml +50 -0
  1033. data/fixtures/vcr_cassettes/test_examples/1000485.yml +50 -0
  1034. data/fixtures/vcr_cassettes/test_examples/1000486.yml +50 -0
  1035. data/fixtures/vcr_cassettes/test_examples/1000487.yml +50 -0
  1036. data/fixtures/vcr_cassettes/test_examples/1000488.yml +50 -0
  1037. data/fixtures/vcr_cassettes/test_examples/1000489.yml +50 -0
  1038. data/fixtures/vcr_cassettes/test_examples/1000490.yml +50 -0
  1039. data/fixtures/vcr_cassettes/test_examples/1000491.yml +50 -0
  1040. data/fixtures/vcr_cassettes/test_examples/1000492.yml +50 -0
  1041. data/fixtures/vcr_cassettes/test_examples/1000493.yml +50 -0
  1042. data/fixtures/vcr_cassettes/test_examples/1000494.yml +50 -0
  1043. data/fixtures/vcr_cassettes/test_examples/1000495.yml +50 -0
  1044. data/fixtures/vcr_cassettes/test_examples/1000496.yml +50 -0
  1045. data/fixtures/vcr_cassettes/test_examples/1000497.yml +50 -0
  1046. data/fixtures/vcr_cassettes/test_examples/1000498.yml +50 -0
  1047. data/fixtures/vcr_cassettes/test_examples/1000499.yml +50 -0
  1048. data/fixtures/vcr_cassettes/test_examples/1000500.yml +50 -0
  1049. data/fixtures/vcr_cassettes/test_examples/1000501.yml +50 -0
  1050. data/fixtures/vcr_cassettes/test_examples/1000502.yml +50 -0
  1051. data/fixtures/vcr_cassettes/test_examples/1000503.yml +50 -0
  1052. data/fixtures/vcr_cassettes/test_examples/1000504.yml +50 -0
  1053. data/fixtures/vcr_cassettes/test_examples/1000505.yml +50 -0
  1054. data/fixtures/vcr_cassettes/test_examples/1000506.yml +50 -0
  1055. data/fixtures/vcr_cassettes/test_examples/1000507.yml +50 -0
  1056. data/fixtures/vcr_cassettes/test_examples/1000508.yml +50 -0
  1057. data/fixtures/vcr_cassettes/test_examples/1000509.yml +50 -0
  1058. data/fixtures/vcr_cassettes/test_examples/1000510.yml +50 -0
  1059. data/fixtures/vcr_cassettes/test_examples/1000511.yml +50 -0
  1060. data/fixtures/vcr_cassettes/test_examples/1000512.yml +50 -0
  1061. data/fixtures/vcr_cassettes/test_examples/1000513.yml +50 -0
  1062. data/fixtures/vcr_cassettes/test_examples/1000514.yml +50 -0
  1063. data/fixtures/vcr_cassettes/test_examples/1000515.yml +50 -0
  1064. data/fixtures/vcr_cassettes/test_examples/1000516.yml +50 -0
  1065. data/fixtures/vcr_cassettes/test_examples/1000517.yml +50 -0
  1066. data/fixtures/vcr_cassettes/test_examples/1000518.yml +50 -0
  1067. data/fixtures/vcr_cassettes/test_examples/1000519.yml +50 -0
  1068. data/fixtures/vcr_cassettes/test_examples/1000520.yml +50 -0
  1069. data/fixtures/vcr_cassettes/test_examples/1000521.yml +50 -0
  1070. data/fixtures/vcr_cassettes/test_examples/1000522.yml +50 -0
  1071. data/fixtures/vcr_cassettes/test_examples/1000523.yml +50 -0
  1072. data/fixtures/vcr_cassettes/test_examples/1000524.yml +50 -0
  1073. data/fixtures/vcr_cassettes/test_examples/1000525.yml +50 -0
  1074. data/fixtures/vcr_cassettes/test_examples/1000526.yml +50 -0
  1075. data/fixtures/vcr_cassettes/test_examples/1000527.yml +50 -0
  1076. data/fixtures/vcr_cassettes/test_examples/1000528.yml +50 -0
  1077. data/fixtures/vcr_cassettes/test_examples/1000529.yml +50 -0
  1078. data/fixtures/vcr_cassettes/test_examples/1000530.yml +50 -0
  1079. data/fixtures/vcr_cassettes/test_examples/1000531.yml +50 -0
  1080. data/fixtures/vcr_cassettes/test_examples/1000532.yml +50 -0
  1081. data/fixtures/vcr_cassettes/test_examples/1000533.yml +50 -0
  1082. data/fixtures/vcr_cassettes/test_examples/1000534.yml +50 -0
  1083. data/fixtures/vcr_cassettes/test_examples/1000535.yml +50 -0
  1084. data/fixtures/vcr_cassettes/test_examples/1000536.yml +50 -0
  1085. data/fixtures/vcr_cassettes/test_examples/1000537.yml +50 -0
  1086. data/fixtures/vcr_cassettes/test_examples/1000538.yml +50 -0
  1087. data/fixtures/vcr_cassettes/test_examples/1000539.yml +50 -0
  1088. data/fixtures/vcr_cassettes/test_examples/1000540.yml +50 -0
  1089. data/fixtures/vcr_cassettes/test_examples/1000541.yml +50 -0
  1090. data/fixtures/vcr_cassettes/test_examples/1000542.yml +50 -0
  1091. data/fixtures/vcr_cassettes/test_examples/1000543.yml +50 -0
  1092. data/fixtures/vcr_cassettes/test_examples/1000544.yml +50 -0
  1093. data/fixtures/vcr_cassettes/test_examples/1000545.yml +50 -0
  1094. data/fixtures/vcr_cassettes/test_examples/1000546.yml +50 -0
  1095. data/fixtures/vcr_cassettes/test_examples/1000547.yml +50 -0
  1096. data/fixtures/vcr_cassettes/test_examples/1000548.yml +50 -0
  1097. data/fixtures/vcr_cassettes/test_examples/1000549.yml +50 -0
  1098. data/fixtures/vcr_cassettes/test_examples/1000550.yml +50 -0
  1099. data/fixtures/vcr_cassettes/test_examples/1000551.yml +50 -0
  1100. data/fixtures/vcr_cassettes/test_examples/1000552.yml +50 -0
  1101. data/fixtures/vcr_cassettes/test_examples/1000553.yml +50 -0
  1102. data/fixtures/vcr_cassettes/test_examples/1000554.yml +50 -0
  1103. data/fixtures/vcr_cassettes/test_examples/1000555.yml +50 -0
  1104. data/fixtures/vcr_cassettes/test_examples/1000556.yml +50 -0
  1105. data/fixtures/vcr_cassettes/test_examples/1000557.yml +50 -0
  1106. data/fixtures/vcr_cassettes/test_examples/1000558.yml +50 -0
  1107. data/fixtures/vcr_cassettes/test_examples/1000559.yml +50 -0
  1108. data/fixtures/vcr_cassettes/test_examples/1000560.yml +50 -0
  1109. data/fixtures/vcr_cassettes/test_examples/1000561.yml +50 -0
  1110. data/fixtures/vcr_cassettes/test_examples/1000562.yml +50 -0
  1111. data/fixtures/vcr_cassettes/test_examples/1000563.yml +50 -0
  1112. data/fixtures/vcr_cassettes/test_examples/1000564.yml +50 -0
  1113. data/fixtures/vcr_cassettes/test_examples/1000565.yml +50 -0
  1114. data/fixtures/vcr_cassettes/test_examples/1000566.yml +50 -0
  1115. data/fixtures/vcr_cassettes/test_examples/1000567.yml +50 -0
  1116. data/fixtures/vcr_cassettes/test_examples/1000568.yml +50 -0
  1117. data/fixtures/vcr_cassettes/test_examples/1000569.yml +50 -0
  1118. data/fixtures/vcr_cassettes/test_examples/1000570.yml +50 -0
  1119. data/fixtures/vcr_cassettes/test_examples/1000571.yml +50 -0
  1120. data/fixtures/vcr_cassettes/test_examples/1000572.yml +50 -0
  1121. data/fixtures/vcr_cassettes/test_examples/1000573.yml +50 -0
  1122. data/fixtures/vcr_cassettes/test_examples/1000574.yml +50 -0
  1123. data/fixtures/vcr_cassettes/test_examples/1000575.yml +50 -0
  1124. data/fixtures/vcr_cassettes/test_examples/1000576.yml +50 -0
  1125. data/fixtures/vcr_cassettes/test_examples/1000577.yml +50 -0
  1126. data/fixtures/vcr_cassettes/test_examples/1000578.yml +50 -0
  1127. data/fixtures/vcr_cassettes/test_examples/1000579.yml +50 -0
  1128. data/fixtures/vcr_cassettes/test_examples/1000580.yml +50 -0
  1129. data/fixtures/vcr_cassettes/test_examples/1000581.yml +50 -0
  1130. data/fixtures/vcr_cassettes/test_examples/1000582.yml +50 -0
  1131. data/fixtures/vcr_cassettes/test_examples/1000583.yml +50 -0
  1132. data/fixtures/vcr_cassettes/test_examples/1000584.yml +50 -0
  1133. data/fixtures/vcr_cassettes/test_examples/1000585.yml +50 -0
  1134. data/fixtures/vcr_cassettes/test_examples/1000586.yml +50 -0
  1135. data/fixtures/vcr_cassettes/test_examples/1000587.yml +50 -0
  1136. data/fixtures/vcr_cassettes/test_examples/1000588.yml +50 -0
  1137. data/fixtures/vcr_cassettes/test_examples/1000589.yml +50 -0
  1138. data/fixtures/vcr_cassettes/test_examples/1000590.yml +50 -0
  1139. data/fixtures/vcr_cassettes/test_examples/1000591.yml +50 -0
  1140. data/fixtures/vcr_cassettes/test_examples/1000592.yml +50 -0
  1141. data/fixtures/vcr_cassettes/test_examples/1000593.yml +50 -0
  1142. data/fixtures/vcr_cassettes/test_examples/1000594.yml +50 -0
  1143. data/fixtures/vcr_cassettes/test_examples/1000595.yml +50 -0
  1144. data/fixtures/vcr_cassettes/test_examples/1000596.yml +50 -0
  1145. data/fixtures/vcr_cassettes/test_examples/1000597.yml +50 -0
  1146. data/fixtures/vcr_cassettes/test_examples/1000598.yml +50 -0
  1147. data/fixtures/vcr_cassettes/test_examples/1000599.yml +50 -0
  1148. data/fixtures/vcr_cassettes/test_examples/1000600.yml +50 -0
  1149. data/fixtures/vcr_cassettes/test_examples/1000601.yml +50 -0
  1150. data/fixtures/vcr_cassettes/test_examples/1000602.yml +50 -0
  1151. data/fixtures/vcr_cassettes/test_examples/1000603.yml +50 -0
  1152. data/fixtures/vcr_cassettes/test_examples/1000604.yml +50 -0
  1153. data/fixtures/vcr_cassettes/test_examples/1000605.yml +50 -0
  1154. data/fixtures/vcr_cassettes/test_examples/1000606.yml +50 -0
  1155. data/fixtures/vcr_cassettes/test_examples/1000607.yml +50 -0
  1156. data/fixtures/vcr_cassettes/test_examples/1000608.yml +50 -0
  1157. data/fixtures/vcr_cassettes/test_examples/1000609.yml +50 -0
  1158. data/fixtures/vcr_cassettes/test_examples/1000610.yml +50 -0
  1159. data/fixtures/vcr_cassettes/test_examples/1000611.yml +50 -0
  1160. data/fixtures/vcr_cassettes/test_examples/1000612.yml +50 -0
  1161. data/fixtures/vcr_cassettes/test_examples/1000613.yml +50 -0
  1162. data/fixtures/vcr_cassettes/test_examples/1000614.yml +50 -0
  1163. data/fixtures/vcr_cassettes/test_examples/1000615.yml +50 -0
  1164. data/fixtures/vcr_cassettes/test_examples/1000616.yml +50 -0
  1165. data/fixtures/vcr_cassettes/test_examples/1000617.yml +50 -0
  1166. data/fixtures/vcr_cassettes/test_examples/1000618.yml +50 -0
  1167. data/fixtures/vcr_cassettes/test_examples/1000619.yml +50 -0
  1168. data/fixtures/vcr_cassettes/test_examples/1000620.yml +50 -0
  1169. data/fixtures/vcr_cassettes/test_examples/1000621.yml +50 -0
  1170. data/fixtures/vcr_cassettes/test_examples/1000622.yml +50 -0
  1171. data/fixtures/vcr_cassettes/test_examples/1000623.yml +50 -0
  1172. data/fixtures/vcr_cassettes/test_examples/1000624.yml +50 -0
  1173. data/fixtures/vcr_cassettes/test_examples/1000625.yml +50 -0
  1174. data/fixtures/vcr_cassettes/test_examples/1000626.yml +50 -0
  1175. data/fixtures/vcr_cassettes/test_examples/1000627.yml +50 -0
  1176. data/fixtures/vcr_cassettes/test_examples/1000628.yml +50 -0
  1177. data/fixtures/vcr_cassettes/test_examples/1000629.yml +50 -0
  1178. data/fixtures/vcr_cassettes/test_examples/1000630.yml +50 -0
  1179. data/fixtures/vcr_cassettes/test_examples/1000631.yml +50 -0
  1180. data/fixtures/vcr_cassettes/test_examples/1000632.yml +50 -0
  1181. data/fixtures/vcr_cassettes/test_examples/1000633.yml +50 -0
  1182. data/fixtures/vcr_cassettes/test_examples/1000634.yml +50 -0
  1183. data/fixtures/vcr_cassettes/test_examples/1000635.yml +50 -0
  1184. data/fixtures/vcr_cassettes/test_examples/1000636.yml +50 -0
  1185. data/fixtures/vcr_cassettes/test_examples/1000637.yml +50 -0
  1186. data/fixtures/vcr_cassettes/test_examples/1000638.yml +50 -0
  1187. data/fixtures/vcr_cassettes/test_examples/1000639.yml +50 -0
  1188. data/fixtures/vcr_cassettes/test_examples/1000640.yml +50 -0
  1189. data/fixtures/vcr_cassettes/test_examples/1000641.yml +50 -0
  1190. data/fixtures/vcr_cassettes/test_examples/1000642.yml +50 -0
  1191. data/fixtures/vcr_cassettes/test_examples/1000643.yml +50 -0
  1192. data/fixtures/vcr_cassettes/test_examples/1000644.yml +50 -0
  1193. data/fixtures/vcr_cassettes/test_examples/1000645.yml +50 -0
  1194. data/fixtures/vcr_cassettes/test_examples/1000646.yml +50 -0
  1195. data/fixtures/vcr_cassettes/test_examples/1000647.yml +50 -0
  1196. data/fixtures/vcr_cassettes/test_examples/1000648.yml +50 -0
  1197. data/fixtures/vcr_cassettes/test_examples/1000649.yml +50 -0
  1198. data/fixtures/vcr_cassettes/test_examples/1000650.yml +50 -0
  1199. data/fixtures/vcr_cassettes/test_examples/1000651.yml +50 -0
  1200. data/fixtures/vcr_cassettes/test_examples/1000652.yml +50 -0
  1201. data/fixtures/vcr_cassettes/test_examples/1000653.yml +50 -0
  1202. data/fixtures/vcr_cassettes/test_examples/1000654.yml +50 -0
  1203. data/fixtures/vcr_cassettes/test_examples/1000655.yml +50 -0
  1204. data/fixtures/vcr_cassettes/test_examples/1000656.yml +50 -0
  1205. data/fixtures/vcr_cassettes/test_examples/1000657.yml +50 -0
  1206. data/fixtures/vcr_cassettes/test_examples/1000658.yml +50 -0
  1207. data/fixtures/vcr_cassettes/test_examples/1000659.yml +50 -0
  1208. data/fixtures/vcr_cassettes/test_examples/1000660.yml +50 -0
  1209. data/fixtures/vcr_cassettes/test_examples/1000661.yml +50 -0
  1210. data/fixtures/vcr_cassettes/test_examples/1000662.yml +50 -0
  1211. data/fixtures/vcr_cassettes/test_examples/1000663.yml +50 -0
  1212. data/fixtures/vcr_cassettes/test_examples/1000664.yml +50 -0
  1213. data/fixtures/vcr_cassettes/test_examples/1000665.yml +50 -0
  1214. data/fixtures/vcr_cassettes/test_examples/1000666.yml +50 -0
  1215. data/fixtures/vcr_cassettes/test_examples/1000667.yml +50 -0
  1216. data/fixtures/vcr_cassettes/test_examples/1000668.yml +50 -0
  1217. data/fixtures/vcr_cassettes/test_examples/1000669.yml +50 -0
  1218. data/fixtures/vcr_cassettes/test_examples/1000670.yml +50 -0
  1219. data/fixtures/vcr_cassettes/test_examples/1000671.yml +50 -0
  1220. data/fixtures/vcr_cassettes/test_examples/1000672.yml +50 -0
  1221. data/fixtures/vcr_cassettes/test_examples/1000673.yml +50 -0
  1222. data/fixtures/vcr_cassettes/test_examples/1000674.yml +50 -0
  1223. data/fixtures/vcr_cassettes/test_examples/1000675.yml +50 -0
  1224. data/fixtures/vcr_cassettes/test_examples/1000676.yml +50 -0
  1225. data/fixtures/vcr_cassettes/test_examples/1000677.yml +50 -0
  1226. data/fixtures/vcr_cassettes/test_examples/1000678.yml +50 -0
  1227. data/fixtures/vcr_cassettes/test_examples/1000679.yml +50 -0
  1228. data/fixtures/vcr_cassettes/test_examples/1000680.yml +50 -0
  1229. data/fixtures/vcr_cassettes/test_examples/1000681.yml +50 -0
  1230. data/fixtures/vcr_cassettes/test_examples/1000682.yml +50 -0
  1231. data/fixtures/vcr_cassettes/test_examples/1000683.yml +50 -0
  1232. data/fixtures/vcr_cassettes/test_examples/1000684.yml +50 -0
  1233. data/fixtures/vcr_cassettes/test_examples/1000685.yml +50 -0
  1234. data/fixtures/vcr_cassettes/test_examples/1000686.yml +50 -0
  1235. data/fixtures/vcr_cassettes/test_examples/1000687.yml +50 -0
  1236. data/fixtures/vcr_cassettes/test_examples/1000688.yml +50 -0
  1237. data/fixtures/vcr_cassettes/test_examples/1000689.yml +50 -0
  1238. data/fixtures/vcr_cassettes/test_examples/1000690.yml +50 -0
  1239. data/fixtures/vcr_cassettes/test_examples/1000691.yml +50 -0
  1240. data/fixtures/vcr_cassettes/test_examples/1000692.yml +50 -0
  1241. data/fixtures/vcr_cassettes/test_examples/1000693.yml +50 -0
  1242. data/fixtures/vcr_cassettes/test_examples/1000694.yml +50 -0
  1243. data/fixtures/vcr_cassettes/test_examples/1000695.yml +50 -0
  1244. data/fixtures/vcr_cassettes/test_examples/1000696.yml +50 -0
  1245. data/fixtures/vcr_cassettes/test_examples/1000697.yml +50 -0
  1246. data/fixtures/vcr_cassettes/test_examples/1000698.yml +50 -0
  1247. data/fixtures/vcr_cassettes/test_examples/1000699.yml +50 -0
  1248. data/fixtures/vcr_cassettes/test_examples/1000700.yml +50 -0
  1249. data/fixtures/vcr_cassettes/test_examples/1000701.yml +50 -0
  1250. data/fixtures/vcr_cassettes/test_examples/1000702.yml +50 -0
  1251. data/fixtures/vcr_cassettes/test_examples/1000703.yml +50 -0
  1252. data/fixtures/vcr_cassettes/test_examples/1000704.yml +50 -0
  1253. data/fixtures/vcr_cassettes/test_examples/1000705.yml +50 -0
  1254. data/fixtures/vcr_cassettes/test_examples/1000706.yml +50 -0
  1255. data/fixtures/vcr_cassettes/test_examples/1000707.yml +50 -0
  1256. data/fixtures/vcr_cassettes/test_examples/1000708.yml +50 -0
  1257. data/fixtures/vcr_cassettes/test_examples/1000709.yml +50 -0
  1258. data/fixtures/vcr_cassettes/test_examples/1000710.yml +50 -0
  1259. data/fixtures/vcr_cassettes/test_examples/1000711.yml +50 -0
  1260. data/fixtures/vcr_cassettes/test_examples/1000712.yml +50 -0
  1261. data/fixtures/vcr_cassettes/test_examples/1000713.yml +50 -0
  1262. data/fixtures/vcr_cassettes/test_examples/1000714.yml +50 -0
  1263. data/fixtures/vcr_cassettes/test_examples/1000715.yml +50 -0
  1264. data/fixtures/vcr_cassettes/test_examples/1000716.yml +50 -0
  1265. data/fixtures/vcr_cassettes/test_examples/1000717.yml +50 -0
  1266. data/fixtures/vcr_cassettes/test_examples/1000718.yml +50 -0
  1267. data/fixtures/vcr_cassettes/test_examples/1000719.yml +50 -0
  1268. data/fixtures/vcr_cassettes/test_examples/1000720.yml +50 -0
  1269. data/fixtures/vcr_cassettes/test_examples/1000721.yml +50 -0
  1270. data/fixtures/vcr_cassettes/test_examples/1000722.yml +50 -0
  1271. data/fixtures/vcr_cassettes/test_examples/1000723.yml +50 -0
  1272. data/fixtures/vcr_cassettes/test_examples/1000724.yml +50 -0
  1273. data/fixtures/vcr_cassettes/test_examples/1000725.yml +50 -0
  1274. data/fixtures/vcr_cassettes/test_examples/1000726.yml +50 -0
  1275. data/fixtures/vcr_cassettes/test_examples/1000727.yml +50 -0
  1276. data/fixtures/vcr_cassettes/test_examples/1000728.yml +50 -0
  1277. data/fixtures/vcr_cassettes/test_examples/1000729.yml +50 -0
  1278. data/fixtures/vcr_cassettes/test_examples/1000730.yml +50 -0
  1279. data/fixtures/vcr_cassettes/test_examples/1000731.yml +50 -0
  1280. data/fixtures/vcr_cassettes/test_examples/1000732.yml +50 -0
  1281. data/fixtures/vcr_cassettes/test_examples/1000733.yml +50 -0
  1282. data/fixtures/vcr_cassettes/test_examples/1000734.yml +50 -0
  1283. data/fixtures/vcr_cassettes/test_examples/1000735.yml +50 -0
  1284. data/fixtures/vcr_cassettes/test_examples/1000736.yml +50 -0
  1285. data/fixtures/vcr_cassettes/test_examples/1000737.yml +50 -0
  1286. data/fixtures/vcr_cassettes/test_examples/1000738.yml +50 -0
  1287. data/fixtures/vcr_cassettes/test_examples/1000739.yml +50 -0
  1288. data/fixtures/vcr_cassettes/test_examples/1000740.yml +50 -0
  1289. data/fixtures/vcr_cassettes/test_examples/1000741.yml +50 -0
  1290. data/fixtures/vcr_cassettes/test_examples/1000742.yml +50 -0
  1291. data/fixtures/vcr_cassettes/test_examples/1000743.yml +50 -0
  1292. data/fixtures/vcr_cassettes/test_examples/1000744.yml +50 -0
  1293. data/fixtures/vcr_cassettes/test_examples/1000745.yml +50 -0
  1294. data/fixtures/vcr_cassettes/test_examples/1000746.yml +50 -0
  1295. data/fixtures/vcr_cassettes/test_examples/1000747.yml +50 -0
  1296. data/fixtures/vcr_cassettes/test_examples/1000748.yml +50 -0
  1297. data/fixtures/vcr_cassettes/test_examples/1000749.yml +50 -0
  1298. data/fixtures/vcr_cassettes/test_examples/1000750.yml +50 -0
  1299. data/fixtures/vcr_cassettes/test_examples/1000751.yml +50 -0
  1300. data/fixtures/vcr_cassettes/test_examples/1000752.yml +50 -0
  1301. data/fixtures/vcr_cassettes/test_examples/1000753.yml +50 -0
  1302. data/fixtures/vcr_cassettes/test_examples/1000754.yml +50 -0
  1303. data/fixtures/vcr_cassettes/test_examples/1000755.yml +50 -0
  1304. data/fixtures/vcr_cassettes/test_examples/1000756.yml +50 -0
  1305. data/fixtures/vcr_cassettes/test_examples/1000757.yml +50 -0
  1306. data/fixtures/vcr_cassettes/test_examples/1000758.yml +50 -0
  1307. data/fixtures/vcr_cassettes/test_examples/1000759.yml +50 -0
  1308. data/fixtures/vcr_cassettes/test_examples/1000760.yml +50 -0
  1309. data/fixtures/vcr_cassettes/test_examples/1000761.yml +50 -0
  1310. data/fixtures/vcr_cassettes/test_examples/1000762.yml +50 -0
  1311. data/fixtures/vcr_cassettes/test_examples/1000763.yml +50 -0
  1312. data/fixtures/vcr_cassettes/test_examples/1000764.yml +50 -0
  1313. data/fixtures/vcr_cassettes/test_examples/1000765.yml +50 -0
  1314. data/fixtures/vcr_cassettes/test_examples/1000766.yml +50 -0
  1315. data/fixtures/vcr_cassettes/test_examples/1000767.yml +50 -0
  1316. data/fixtures/vcr_cassettes/test_examples/1000768.yml +50 -0
  1317. data/fixtures/vcr_cassettes/test_examples/1000769.yml +50 -0
  1318. data/fixtures/vcr_cassettes/test_examples/1000770.yml +50 -0
  1319. data/fixtures/vcr_cassettes/test_examples/1000771.yml +50 -0
  1320. data/fixtures/vcr_cassettes/test_examples/1000772.yml +50 -0
  1321. data/fixtures/vcr_cassettes/test_examples/1000773.yml +50 -0
  1322. data/fixtures/vcr_cassettes/test_examples/1000774.yml +50 -0
  1323. data/fixtures/vcr_cassettes/test_examples/1000775.yml +50 -0
  1324. data/fixtures/vcr_cassettes/test_examples/1000776.yml +50 -0
  1325. data/fixtures/vcr_cassettes/test_examples/1000777.yml +50 -0
  1326. data/fixtures/vcr_cassettes/test_examples/1000778.yml +50 -0
  1327. data/fixtures/vcr_cassettes/test_examples/1000779.yml +50 -0
  1328. data/fixtures/vcr_cassettes/test_examples/1000780.yml +50 -0
  1329. data/fixtures/vcr_cassettes/test_examples/1000781.yml +50 -0
  1330. data/fixtures/vcr_cassettes/test_examples/1000782.yml +50 -0
  1331. data/fixtures/vcr_cassettes/test_examples/1000783.yml +50 -0
  1332. data/fixtures/vcr_cassettes/test_examples/1000784.yml +50 -0
  1333. data/fixtures/vcr_cassettes/test_examples/1000785.yml +50 -0
  1334. data/fixtures/vcr_cassettes/test_examples/1000786.yml +50 -0
  1335. data/fixtures/vcr_cassettes/test_examples/1000787.yml +50 -0
  1336. data/fixtures/vcr_cassettes/test_examples/1000788.yml +50 -0
  1337. data/fixtures/vcr_cassettes/test_examples/1000789.yml +50 -0
  1338. data/fixtures/vcr_cassettes/test_examples/1000790.yml +50 -0
  1339. data/fixtures/vcr_cassettes/test_examples/1000791.yml +50 -0
  1340. data/fixtures/vcr_cassettes/test_examples/1000792.yml +50 -0
  1341. data/fixtures/vcr_cassettes/test_examples/1000793.yml +50 -0
  1342. data/fixtures/vcr_cassettes/test_examples/1000794.yml +50 -0
  1343. data/fixtures/vcr_cassettes/test_examples/1000795.yml +50 -0
  1344. data/fixtures/vcr_cassettes/test_examples/1000796.yml +50 -0
  1345. data/fixtures/vcr_cassettes/test_examples/1000797.yml +50 -0
  1346. data/fixtures/vcr_cassettes/test_examples/1000798.yml +50 -0
  1347. data/fixtures/vcr_cassettes/test_examples/1000799.yml +50 -0
  1348. data/fixtures/vcr_cassettes/test_examples/1000800.yml +50 -0
  1349. data/fixtures/vcr_cassettes/test_examples/1000801.yml +50 -0
  1350. data/fixtures/vcr_cassettes/test_examples/1000802.yml +50 -0
  1351. data/fixtures/vcr_cassettes/test_examples/1000803.yml +50 -0
  1352. data/fixtures/vcr_cassettes/test_examples/1000804.yml +50 -0
  1353. data/fixtures/vcr_cassettes/test_examples/1000805.yml +50 -0
  1354. data/fixtures/vcr_cassettes/test_examples/1000806.yml +50 -0
  1355. data/fixtures/vcr_cassettes/test_examples/1000807.yml +50 -0
  1356. data/fixtures/vcr_cassettes/test_examples/1000808.yml +50 -0
  1357. data/fixtures/vcr_cassettes/test_examples/1000809.yml +50 -0
  1358. data/fixtures/vcr_cassettes/test_examples/1000810.yml +50 -0
  1359. data/fixtures/vcr_cassettes/test_examples/1000811.yml +50 -0
  1360. data/fixtures/vcr_cassettes/test_examples/1000812.yml +50 -0
  1361. data/fixtures/vcr_cassettes/test_examples/1000813.yml +50 -0
  1362. data/fixtures/vcr_cassettes/test_examples/1000814.yml +50 -0
  1363. data/fixtures/vcr_cassettes/test_examples/1000815.yml +50 -0
  1364. data/fixtures/vcr_cassettes/test_examples/1000816.yml +50 -0
  1365. data/fixtures/vcr_cassettes/test_examples/1000817.yml +50 -0
  1366. data/fixtures/vcr_cassettes/test_examples/1000818.yml +50 -0
  1367. data/fixtures/vcr_cassettes/test_examples/1000819.yml +50 -0
  1368. data/fixtures/vcr_cassettes/test_examples/1000820.yml +50 -0
  1369. data/fixtures/vcr_cassettes/test_examples/1000821.yml +50 -0
  1370. data/fixtures/vcr_cassettes/test_examples/1000822.yml +50 -0
  1371. data/fixtures/vcr_cassettes/test_examples/1000823.yml +50 -0
  1372. data/fixtures/vcr_cassettes/test_examples/1000824.yml +50 -0
  1373. data/fixtures/vcr_cassettes/test_examples/1000825.yml +50 -0
  1374. data/fixtures/vcr_cassettes/test_examples/1000826.yml +50 -0
  1375. data/fixtures/vcr_cassettes/test_examples/1000827.yml +50 -0
  1376. data/fixtures/vcr_cassettes/test_examples/1000828.yml +50 -0
  1377. data/fixtures/vcr_cassettes/test_examples/1000829.yml +50 -0
  1378. data/fixtures/vcr_cassettes/test_examples/1000830.yml +50 -0
  1379. data/fixtures/vcr_cassettes/test_examples/1000831.yml +50 -0
  1380. data/fixtures/vcr_cassettes/test_examples/1000832.yml +50 -0
  1381. data/fixtures/vcr_cassettes/test_examples/1000833.yml +50 -0
  1382. data/fixtures/vcr_cassettes/test_examples/1000834.yml +50 -0
  1383. data/fixtures/vcr_cassettes/test_examples/1000835.yml +50 -0
  1384. data/fixtures/vcr_cassettes/test_examples/1000836.yml +50 -0
  1385. data/fixtures/vcr_cassettes/test_examples/1000837.yml +50 -0
  1386. data/fixtures/vcr_cassettes/test_examples/1000838.yml +50 -0
  1387. data/fixtures/vcr_cassettes/test_examples/1000839.yml +50 -0
  1388. data/fixtures/vcr_cassettes/test_examples/1000840.yml +50 -0
  1389. data/fixtures/vcr_cassettes/test_examples/1000841.yml +50 -0
  1390. data/fixtures/vcr_cassettes/test_examples/1000842.yml +50 -0
  1391. data/fixtures/vcr_cassettes/test_examples/1000843.yml +50 -0
  1392. data/fixtures/vcr_cassettes/test_examples/1000844.yml +50 -0
  1393. data/fixtures/vcr_cassettes/test_examples/1000845.yml +50 -0
  1394. data/fixtures/vcr_cassettes/test_examples/1000846.yml +50 -0
  1395. data/fixtures/vcr_cassettes/test_examples/1000847.yml +50 -0
  1396. data/fixtures/vcr_cassettes/test_examples/1000848.yml +50 -0
  1397. data/fixtures/vcr_cassettes/test_examples/1000849.yml +50 -0
  1398. data/fixtures/vcr_cassettes/test_examples/1000850.yml +50 -0
  1399. data/fixtures/vcr_cassettes/test_examples/1000851.yml +50 -0
  1400. data/fixtures/vcr_cassettes/test_examples/1000852.yml +50 -0
  1401. data/fixtures/vcr_cassettes/test_examples/1000853.yml +50 -0
  1402. data/fixtures/vcr_cassettes/test_examples/1000854.yml +50 -0
  1403. data/fixtures/vcr_cassettes/test_examples/1000855.yml +50 -0
  1404. data/fixtures/vcr_cassettes/test_examples/1000856.yml +50 -0
  1405. data/fixtures/vcr_cassettes/test_examples/1000857.yml +50 -0
  1406. data/fixtures/vcr_cassettes/test_examples/1000858.yml +50 -0
  1407. data/fixtures/vcr_cassettes/test_examples/1000859.yml +50 -0
  1408. data/fixtures/vcr_cassettes/test_examples/1000860.yml +50 -0
  1409. data/fixtures/vcr_cassettes/test_examples/1000861.yml +50 -0
  1410. data/fixtures/vcr_cassettes/test_examples/1000862.yml +50 -0
  1411. data/fixtures/vcr_cassettes/test_examples/1000863.yml +50 -0
  1412. data/fixtures/vcr_cassettes/test_examples/1000864.yml +50 -0
  1413. data/fixtures/vcr_cassettes/test_examples/1000865.yml +50 -0
  1414. data/fixtures/vcr_cassettes/test_examples/1000866.yml +50 -0
  1415. data/fixtures/vcr_cassettes/test_examples/1000867.yml +50 -0
  1416. data/fixtures/vcr_cassettes/test_examples/1000868.yml +50 -0
  1417. data/fixtures/vcr_cassettes/test_examples/1000869.yml +50 -0
  1418. data/fixtures/vcr_cassettes/test_examples/1000870.yml +50 -0
  1419. data/fixtures/vcr_cassettes/test_examples/1000871.yml +50 -0
  1420. data/fixtures/vcr_cassettes/test_examples/1000872.yml +50 -0
  1421. data/fixtures/vcr_cassettes/test_examples/1000873.yml +50 -0
  1422. data/fixtures/vcr_cassettes/test_examples/1000874.yml +50 -0
  1423. data/fixtures/vcr_cassettes/test_examples/1000875.yml +50 -0
  1424. data/fixtures/vcr_cassettes/test_examples/1000876.yml +50 -0
  1425. data/fixtures/vcr_cassettes/test_examples/1000877.yml +50 -0
  1426. data/fixtures/vcr_cassettes/test_examples/1000878.yml +50 -0
  1427. data/fixtures/vcr_cassettes/test_examples/1000879.yml +50 -0
  1428. data/fixtures/vcr_cassettes/test_examples/1000880.yml +50 -0
  1429. data/fixtures/vcr_cassettes/test_examples/1000881.yml +50 -0
  1430. data/fixtures/vcr_cassettes/test_examples/1000882.yml +50 -0
  1431. data/fixtures/vcr_cassettes/test_examples/1000883.yml +50 -0
  1432. data/fixtures/vcr_cassettes/test_examples/1000884.yml +50 -0
  1433. data/fixtures/vcr_cassettes/test_examples/1000885.yml +50 -0
  1434. data/fixtures/vcr_cassettes/test_examples/1000886.yml +50 -0
  1435. data/fixtures/vcr_cassettes/test_examples/1000887.yml +50 -0
  1436. data/fixtures/vcr_cassettes/test_examples/1000888.yml +50 -0
  1437. data/fixtures/vcr_cassettes/test_examples/1000889.yml +50 -0
  1438. data/fixtures/vcr_cassettes/test_examples/1000890.yml +50 -0
  1439. data/fixtures/vcr_cassettes/test_examples/1000891.yml +50 -0
  1440. data/fixtures/vcr_cassettes/test_examples/1000892.yml +50 -0
  1441. data/fixtures/vcr_cassettes/test_examples/1000893.yml +50 -0
  1442. data/fixtures/vcr_cassettes/test_examples/1000894.yml +50 -0
  1443. data/fixtures/vcr_cassettes/test_examples/1000895.yml +50 -0
  1444. data/fixtures/vcr_cassettes/test_examples/1000896.yml +50 -0
  1445. data/fixtures/vcr_cassettes/test_examples/1000897.yml +50 -0
  1446. data/fixtures/vcr_cassettes/test_examples/1000898.yml +50 -0
  1447. data/fixtures/vcr_cassettes/test_examples/1000899.yml +50 -0
  1448. data/fixtures/vcr_cassettes/test_examples/1000900.yml +50 -0
  1449. data/fixtures/vcr_cassettes/test_examples/1000901.yml +50 -0
  1450. data/fixtures/vcr_cassettes/test_examples/1000902.yml +50 -0
  1451. data/fixtures/vcr_cassettes/test_examples/1000903.yml +50 -0
  1452. data/fixtures/vcr_cassettes/test_examples/1000904.yml +44 -0
  1453. data/fixtures/vcr_cassettes/test_examples/1000905.yml +44 -0
  1454. data/fixtures/vcr_cassettes/test_examples/1000906.yml +44 -0
  1455. data/fixtures/vcr_cassettes/test_examples/1000907.yml +44 -0
  1456. data/fixtures/vcr_cassettes/test_examples/1000908.yml +44 -0
  1457. data/fixtures/vcr_cassettes/test_examples/1000909.yml +44 -0
  1458. data/fixtures/vcr_cassettes/test_examples/1000910.yml +44 -0
  1459. data/fixtures/vcr_cassettes/test_examples/1000911.yml +44 -0
  1460. data/fixtures/vcr_cassettes/test_examples/1000912.yml +44 -0
  1461. data/fixtures/vcr_cassettes/test_examples/1000913.yml +44 -0
  1462. data/fixtures/vcr_cassettes/test_examples/1000914.yml +44 -0
  1463. data/fixtures/vcr_cassettes/test_examples/1000915.yml +44 -0
  1464. data/fixtures/vcr_cassettes/test_examples/1000916.yml +44 -0
  1465. data/fixtures/vcr_cassettes/test_examples/1000917.yml +44 -0
  1466. data/fixtures/vcr_cassettes/test_examples/1000918.yml +44 -0
  1467. data/fixtures/vcr_cassettes/test_examples/1000919.yml +44 -0
  1468. data/fixtures/vcr_cassettes/test_examples/1000920.yml +44 -0
  1469. data/fixtures/vcr_cassettes/test_examples/1000921.yml +44 -0
  1470. data/fixtures/vcr_cassettes/test_examples/1000922.yml +44 -0
  1471. data/fixtures/vcr_cassettes/test_examples/1000923.yml +44 -0
  1472. data/fixtures/vcr_cassettes/test_examples/1000924.yml +44 -0
  1473. data/fixtures/vcr_cassettes/test_examples/1000925.yml +44 -0
  1474. data/fixtures/vcr_cassettes/test_examples/1000926.yml +44 -0
  1475. data/fixtures/vcr_cassettes/test_examples/1000927.yml +44 -0
  1476. data/fixtures/vcr_cassettes/test_examples/1000928.yml +44 -0
  1477. data/fixtures/vcr_cassettes/test_examples/1000929.yml +44 -0
  1478. data/fixtures/vcr_cassettes/test_examples/1000930.yml +44 -0
  1479. data/fixtures/vcr_cassettes/test_examples/1000931.yml +44 -0
  1480. data/fixtures/vcr_cassettes/test_examples/1000932.yml +44 -0
  1481. data/fixtures/vcr_cassettes/test_examples/1000933.yml +44 -0
  1482. data/fixtures/vcr_cassettes/test_examples/1000934.yml +44 -0
  1483. data/fixtures/vcr_cassettes/test_examples/1000935.yml +44 -0
  1484. data/fixtures/vcr_cassettes/test_examples/1000936.yml +44 -0
  1485. data/fixtures/vcr_cassettes/test_examples/1000937.yml +44 -0
  1486. data/fixtures/vcr_cassettes/test_examples/1000938.yml +44 -0
  1487. data/fixtures/vcr_cassettes/test_examples/1000939.yml +44 -0
  1488. data/fixtures/vcr_cassettes/test_examples/1000940.yml +44 -0
  1489. data/fixtures/vcr_cassettes/test_examples/1000941.yml +44 -0
  1490. data/fixtures/vcr_cassettes/test_examples/1000942.yml +44 -0
  1491. data/fixtures/vcr_cassettes/test_examples/1000943.yml +44 -0
  1492. data/fixtures/vcr_cassettes/test_examples/1000944.yml +46 -0
  1493. data/fixtures/vcr_cassettes/test_examples/1000945.yml +46 -0
  1494. data/fixtures/vcr_cassettes/test_examples/1000946.yml +46 -0
  1495. data/fixtures/vcr_cassettes/test_examples/1000947.yml +46 -0
  1496. data/fixtures/vcr_cassettes/test_examples/1000948.yml +46 -0
  1497. data/fixtures/vcr_cassettes/test_examples/1000949.yml +46 -0
  1498. data/fixtures/vcr_cassettes/test_examples/1000950.yml +46 -0
  1499. data/fixtures/vcr_cassettes/test_examples/1000951.yml +46 -0
  1500. data/fixtures/vcr_cassettes/test_examples/1000952.yml +46 -0
  1501. data/fixtures/vcr_cassettes/test_examples/1000953.yml +46 -0
  1502. data/fixtures/vcr_cassettes/test_examples/1000954.yml +46 -0
  1503. data/fixtures/vcr_cassettes/test_examples/1000955.yml +46 -0
  1504. data/fixtures/vcr_cassettes/test_examples/1000956.yml +46 -0
  1505. data/fixtures/vcr_cassettes/test_examples/1000957.yml +46 -0
  1506. data/fixtures/vcr_cassettes/test_examples/1000958.yml +46 -0
  1507. data/fixtures/vcr_cassettes/test_examples/1000959.yml +46 -0
  1508. data/fixtures/vcr_cassettes/test_examples/1000960.yml +46 -0
  1509. data/fixtures/vcr_cassettes/test_examples/1000961.yml +46 -0
  1510. data/fixtures/vcr_cassettes/test_examples/1000962.yml +46 -0
  1511. data/fixtures/vcr_cassettes/test_examples/1000963.yml +46 -0
  1512. data/fixtures/vcr_cassettes/test_examples/1000964.yml +46 -0
  1513. data/fixtures/vcr_cassettes/test_examples/1000965.yml +46 -0
  1514. data/fixtures/vcr_cassettes/test_examples/1000966.yml +46 -0
  1515. data/fixtures/vcr_cassettes/test_examples/1000967.yml +46 -0
  1516. data/fixtures/vcr_cassettes/test_examples/1000968.yml +46 -0
  1517. data/fixtures/vcr_cassettes/test_examples/1000969.yml +46 -0
  1518. data/fixtures/vcr_cassettes/test_examples/1000970.yml +46 -0
  1519. data/fixtures/vcr_cassettes/test_examples/1000971.yml +46 -0
  1520. data/fixtures/vcr_cassettes/test_examples/1000972.yml +46 -0
  1521. data/fixtures/vcr_cassettes/test_examples/1000973.yml +46 -0
  1522. data/fixtures/vcr_cassettes/test_examples/1000974.yml +46 -0
  1523. data/fixtures/vcr_cassettes/test_examples/1000975.yml +46 -0
  1524. data/fixtures/vcr_cassettes/test_examples/1000976.yml +46 -0
  1525. data/fixtures/vcr_cassettes/test_examples/1000977.yml +46 -0
  1526. data/fixtures/vcr_cassettes/test_examples/1000978.yml +46 -0
  1527. data/fixtures/vcr_cassettes/test_examples/1000979.yml +46 -0
  1528. data/fixtures/vcr_cassettes/test_examples/1000980.yml +46 -0
  1529. data/fixtures/vcr_cassettes/test_examples/1000981.yml +46 -0
  1530. data/fixtures/vcr_cassettes/test_examples/1000982.yml +46 -0
  1531. data/fixtures/vcr_cassettes/test_examples/1000983.yml +46 -0
  1532. data/fixtures/vcr_cassettes/test_examples/1000984.yml +46 -0
  1533. data/fixtures/vcr_cassettes/test_examples/1000985.yml +46 -0
  1534. data/fixtures/vcr_cassettes/test_examples/1000986.yml +46 -0
  1535. data/fixtures/vcr_cassettes/test_examples/1000987.yml +46 -0
  1536. data/fixtures/vcr_cassettes/test_examples/1000988.yml +46 -0
  1537. data/fixtures/vcr_cassettes/test_examples/1000989.yml +46 -0
  1538. data/fixtures/vcr_cassettes/test_examples/1000990.yml +46 -0
  1539. data/fixtures/vcr_cassettes/test_examples/1000991.yml +46 -0
  1540. data/fixtures/vcr_cassettes/test_examples/1000992.yml +46 -0
  1541. data/fixtures/vcr_cassettes/test_examples/1000993.yml +46 -0
  1542. data/fixtures/vcr_cassettes/test_examples/1000994.yml +46 -0
  1543. data/fixtures/vcr_cassettes/test_examples/1000995.yml +46 -0
  1544. data/fixtures/vcr_cassettes/test_examples/1000996.yml +46 -0
  1545. data/fixtures/vcr_cassettes/test_examples/1000997.yml +46 -0
  1546. data/fixtures/vcr_cassettes/test_examples/1000998.yml +46 -0
  1547. data/fixtures/vcr_cassettes/test_examples/1000999.yml +46 -0
  1548. data/fixtures/vcr_cassettes/test_examples/1001000.yml +46 -0
  1549. data/fixtures/vcr_cassettes/test_examples/1001001.yml +46 -0
  1550. data/fixtures/vcr_cassettes/test_examples/1001002.yml +46 -0
  1551. data/fixtures/vcr_cassettes/test_examples/1001003.yml +46 -0
  1552. data/fixtures/vcr_cassettes/test_examples/1001004.yml +46 -0
  1553. data/fixtures/vcr_cassettes/test_examples/1001005.yml +46 -0
  1554. data/fixtures/vcr_cassettes/test_examples/1001006.yml +46 -0
  1555. data/fixtures/vcr_cassettes/test_examples/1001007.yml +46 -0
  1556. data/fixtures/vcr_cassettes/test_examples/1001008.yml +46 -0
  1557. data/fixtures/vcr_cassettes/test_examples/1001009.yml +46 -0
  1558. data/fixtures/vcr_cassettes/test_examples/1001010.yml +46 -0
  1559. data/fixtures/vcr_cassettes/test_examples/1001011.yml +46 -0
  1560. data/fixtures/vcr_cassettes/test_examples/1001012.yml +46 -0
  1561. data/fixtures/vcr_cassettes/test_examples/1001013.yml +46 -0
  1562. data/fixtures/vcr_cassettes/test_examples/1001014.yml +46 -0
  1563. data/fixtures/vcr_cassettes/test_examples/1001015.yml +46 -0
  1564. data/fixtures/vcr_cassettes/test_examples/1001016.yml +46 -0
  1565. data/fixtures/vcr_cassettes/test_examples/1001017.yml +46 -0
  1566. data/fixtures/vcr_cassettes/test_examples/1001018.yml +46 -0
  1567. data/fixtures/vcr_cassettes/test_examples/1001019.yml +46 -0
  1568. data/fixtures/vcr_cassettes/test_examples/1001020.yml +46 -0
  1569. data/fixtures/vcr_cassettes/test_examples/1001021.yml +46 -0
  1570. data/fixtures/vcr_cassettes/test_examples/1001022.yml +46 -0
  1571. data/fixtures/vcr_cassettes/test_examples/1001023.yml +46 -0
  1572. data/fixtures/vcr_cassettes/test_examples/1001024.yml +46 -0
  1573. data/fixtures/vcr_cassettes/test_examples/1001025.yml +46 -0
  1574. data/fixtures/vcr_cassettes/test_examples/1001026.yml +46 -0
  1575. data/fixtures/vcr_cassettes/test_examples/1001027.yml +46 -0
  1576. data/fixtures/vcr_cassettes/test_examples/1001028.yml +46 -0
  1577. data/fixtures/vcr_cassettes/test_examples/1001029.yml +46 -0
  1578. data/fixtures/vcr_cassettes/test_examples/1001030.yml +46 -0
  1579. data/fixtures/vcr_cassettes/test_examples/1001031.yml +46 -0
  1580. data/fixtures/vcr_cassettes/test_examples/1001032.yml +46 -0
  1581. data/fixtures/vcr_cassettes/test_examples/1001033.yml +46 -0
  1582. data/fixtures/vcr_cassettes/test_examples/1001034.yml +46 -0
  1583. data/fixtures/vcr_cassettes/test_examples/1001035.yml +46 -0
  1584. data/fixtures/vcr_cassettes/test_examples/1001036.yml +46 -0
  1585. data/fixtures/vcr_cassettes/test_examples/1001037.yml +46 -0
  1586. data/fixtures/vcr_cassettes/test_examples/1001038.yml +46 -0
  1587. data/fixtures/vcr_cassettes/test_examples/1001039.yml +46 -0
  1588. data/fixtures/vcr_cassettes/test_examples/1001040.yml +46 -0
  1589. data/fixtures/vcr_cassettes/test_examples/1001041.yml +46 -0
  1590. data/fixtures/vcr_cassettes/test_examples/1001042.yml +46 -0
  1591. data/fixtures/vcr_cassettes/test_examples/1001043.yml +46 -0
  1592. data/fixtures/vcr_cassettes/test_examples/1001044.yml +46 -0
  1593. data/fixtures/vcr_cassettes/test_examples/1001045.yml +46 -0
  1594. data/fixtures/vcr_cassettes/test_examples/1001046.yml +46 -0
  1595. data/fixtures/vcr_cassettes/test_examples/1001047.yml +46 -0
  1596. data/fixtures/vcr_cassettes/test_examples/1001048.yml +46 -0
  1597. data/fixtures/vcr_cassettes/test_examples/1001049.yml +46 -0
  1598. data/fixtures/vcr_cassettes/test_examples/1001050.yml +46 -0
  1599. data/fixtures/vcr_cassettes/test_examples/1001051.yml +46 -0
  1600. data/fixtures/vcr_cassettes/test_examples/1001052.yml +51 -0
  1601. data/fixtures/vcr_cassettes/test_examples/1001053.yml +51 -0
  1602. data/fixtures/vcr_cassettes/test_examples/1001054.yml +51 -0
  1603. data/fixtures/vcr_cassettes/test_examples/1001055.yml +51 -0
  1604. data/fixtures/vcr_cassettes/test_examples/1001056.yml +51 -0
  1605. data/fixtures/vcr_cassettes/test_examples/1001057.yml +51 -0
  1606. data/fixtures/vcr_cassettes/test_examples/1001058.yml +51 -0
  1607. data/fixtures/vcr_cassettes/test_examples/1001059.yml +51 -0
  1608. data/fixtures/vcr_cassettes/test_examples/1001060.yml +51 -0
  1609. data/fixtures/vcr_cassettes/test_examples/1001061.yml +51 -0
  1610. data/fixtures/vcr_cassettes/test_examples/1001062.yml +51 -0
  1611. data/fixtures/vcr_cassettes/test_examples/1001063.yml +51 -0
  1612. data/fixtures/vcr_cassettes/test_examples/1001064.yml +51 -0
  1613. data/fixtures/vcr_cassettes/test_examples/1001065.yml +51 -0
  1614. data/fixtures/vcr_cassettes/test_examples/1001066.yml +51 -0
  1615. data/fixtures/vcr_cassettes/test_examples/1001067.yml +51 -0
  1616. data/fixtures/vcr_cassettes/test_examples/1001068.yml +51 -0
  1617. data/fixtures/vcr_cassettes/test_examples/1001069.yml +51 -0
  1618. data/fixtures/vcr_cassettes/test_examples/1001070.yml +51 -0
  1619. data/fixtures/vcr_cassettes/test_examples/1001071.yml +51 -0
  1620. data/fixtures/vcr_cassettes/test_examples/1001072.yml +51 -0
  1621. data/fixtures/vcr_cassettes/test_examples/1001073.yml +51 -0
  1622. data/fixtures/vcr_cassettes/test_examples/1001074.yml +51 -0
  1623. data/fixtures/vcr_cassettes/test_examples/1001075.yml +51 -0
  1624. data/fixtures/vcr_cassettes/test_examples/1001076.yml +44 -0
  1625. data/fixtures/vcr_cassettes/test_examples/1001077.yml +44 -0
  1626. data/fixtures/vcr_cassettes/test_examples/1001078.yml +44 -0
  1627. data/fixtures/vcr_cassettes/test_examples/1001079.yml +44 -0
  1628. data/fixtures/vcr_cassettes/test_examples/1001080.yml +51 -0
  1629. data/fixtures/vcr_cassettes/test_examples/1001081.yml +51 -0
  1630. data/fixtures/vcr_cassettes/test_examples/1001082.yml +51 -0
  1631. data/fixtures/vcr_cassettes/test_examples/1001083.yml +51 -0
  1632. data/fixtures/vcr_cassettes/test_examples/1001084.yml +51 -0
  1633. data/fixtures/vcr_cassettes/test_examples/1001085.yml +51 -0
  1634. data/fixtures/vcr_cassettes/test_examples/1001086.yml +51 -0
  1635. data/fixtures/vcr_cassettes/test_examples/1001087.yml +51 -0
  1636. data/fixtures/vcr_cassettes/wc-sub-ssl-false-4.yml +49 -9
  1637. data/lib/pubnub.rb +8 -26
  1638. data/lib/pubnub/client.rb +335 -301
  1639. data/lib/pubnub/client/connections.rb +80 -0
  1640. data/lib/pubnub/client/events.rb +31 -0
  1641. data/lib/pubnub/client/helpers.rb +41 -0
  1642. data/lib/pubnub/client/paged_history.rb +59 -0
  1643. data/lib/pubnub/configuration.rb +36 -23
  1644. data/lib/pubnub/crypto.rb +23 -27
  1645. data/lib/pubnub/envelope.rb +34 -32
  1646. data/lib/pubnub/error.rb +48 -0
  1647. data/lib/pubnub/error_envelope.rb +34 -0
  1648. data/lib/pubnub/event.rb +120 -679
  1649. data/lib/pubnub/events/audit.rb +14 -36
  1650. data/lib/pubnub/events/channel_registration.rb +92 -101
  1651. data/lib/pubnub/events/grant.rb +22 -53
  1652. data/lib/pubnub/events/heartbeat.rb +47 -63
  1653. data/lib/pubnub/events/here_now.rb +65 -59
  1654. data/lib/pubnub/events/history.rb +56 -91
  1655. data/lib/pubnub/events/leave.rb +44 -100
  1656. data/lib/pubnub/events/presence.rb +10 -28
  1657. data/lib/pubnub/events/publish.rb +84 -54
  1658. data/lib/pubnub/events/revoke.rb +22 -40
  1659. data/lib/pubnub/events/set_state.rb +40 -67
  1660. data/lib/pubnub/events/state.rb +47 -44
  1661. data/lib/pubnub/events/subscribe.rb +10 -48
  1662. data/lib/pubnub/events/time.rb +35 -31
  1663. data/lib/pubnub/events/where_now.rb +44 -38
  1664. data/lib/pubnub/formatter.rb +88 -56
  1665. data/lib/pubnub/heart.rb +34 -0
  1666. data/lib/pubnub/message.rb +43 -0
  1667. data/lib/pubnub/origin_manager.rb +80 -0
  1668. data/lib/pubnub/pam.rb +57 -39
  1669. data/lib/pubnub/single_event.rb +26 -0
  1670. data/lib/pubnub/subscribe_event.rb +134 -0
  1671. data/lib/pubnub/subscribe_event/adding.rb +50 -0
  1672. data/lib/pubnub/subscribe_event/callbacks.rb +90 -0
  1673. data/lib/pubnub/subscribe_event/formatter.rb +122 -0
  1674. data/lib/pubnub/subscribe_event/heartbeat.rb +30 -0
  1675. data/lib/pubnub/subscribe_event/removing.rb +70 -0
  1676. data/lib/pubnub/subscriber.rb +81 -0
  1677. data/lib/pubnub/uuid.rb +11 -7
  1678. data/lib/pubnub/validators/audit.rb +27 -0
  1679. data/lib/pubnub/validators/channel_registration.rb +32 -0
  1680. data/lib/pubnub/validators/client.rb +17 -0
  1681. data/lib/pubnub/validators/common_validator.rb +51 -0
  1682. data/lib/pubnub/validators/grant.rb +24 -0
  1683. data/lib/pubnub/validators/heartbeat.rb +14 -0
  1684. data/lib/pubnub/validators/here_now.rb +27 -0
  1685. data/lib/pubnub/validators/history.rb +27 -0
  1686. data/lib/pubnub/validators/leave.rb +25 -0
  1687. data/lib/pubnub/validators/presence.rb +27 -0
  1688. data/lib/pubnub/validators/publish.rb +48 -0
  1689. data/lib/pubnub/validators/revoke.rb +14 -0
  1690. data/lib/pubnub/validators/set_state.rb +16 -0
  1691. data/lib/pubnub/validators/state.rb +27 -0
  1692. data/lib/pubnub/validators/subscribe.rb +27 -0
  1693. data/lib/pubnub/validators/time.rb +14 -0
  1694. data/lib/pubnub/validators/where_now.rb +14 -0
  1695. data/lib/pubnub/version.rb +2 -1
  1696. data/pubnub.gemspec +17 -15
  1697. data/spec/examples/audit_examples_spec.rb +253 -0
  1698. data/spec/examples/channel_registration_examples_spec.rb +933 -0
  1699. data/spec/examples/generator.rb +299 -0
  1700. data/spec/examples/grant_examples_spec.rb +1009 -0
  1701. data/spec/examples/here_now_examples_spec.rb +133 -0
  1702. data/spec/examples/history_examples_spec.rb +4573 -0
  1703. data/spec/examples/publish_examples_spec.rb +357 -0
  1704. data/spec/examples/revoke_examples_spec.rb +1009 -0
  1705. data/spec/examples/state_examples_spec.rb +229 -0
  1706. data/spec/examples/time_examples_spec.rb +69 -0
  1707. data/spec/examples/where_now_examples_spec.rb +101 -0
  1708. data/spec/integration/audit_spec.rb +307 -0
  1709. data/spec/integration/channel_groups_spec.rb +120 -0
  1710. data/spec/integration/channel_registration_spec.rb +323 -0
  1711. data/spec/integration/global_here_now_spec.rb +301 -0
  1712. data/spec/integration/grant_spec.rb +342 -0
  1713. data/spec/integration/here_now_spec.rb +302 -0
  1714. data/spec/integration/history_spec.rb +301 -0
  1715. data/spec/integration/leave_spec.rb +300 -0
  1716. data/spec/integration/presence_spec.rb +317 -0
  1717. data/spec/integration/publish_spec.rb +1117 -0
  1718. data/spec/integration/revoke_spec.rb +318 -0
  1719. data/spec/integration/state_spec.rb +87 -0
  1720. data/spec/integration/subscribe_spec.rb +323 -0
  1721. data/spec/integration/time_spec.rb +300 -0
  1722. data/spec/integration/v3_presence_spec.rb +316 -0
  1723. data/spec/integration/where_now_spec.rb +170 -0
  1724. data/spec/integration/wildcard_subscribe_spec.rb +139 -0
  1725. data/spec/lib/client_spec.rb +181 -24
  1726. data/spec/lib/connection_callback_spec.rb +60 -0
  1727. data/spec/lib/error_spec.rb +277 -0
  1728. data/spec/lib/event_spec.rb +143 -0
  1729. data/spec/lib/events/audit_spec.rb +11 -0
  1730. data/spec/lib/events/channel_registration_spec.rb +11 -0
  1731. data/spec/lib/events/grant_spec.rb +11 -0
  1732. data/spec/lib/events/heartbeat_spec.rb +11 -0
  1733. data/spec/lib/events/here_now_spec.rb +11 -0
  1734. data/spec/lib/events/history_spec.rb +11 -0
  1735. data/spec/lib/events/leave_spec.rb +11 -0
  1736. data/spec/lib/events/presence_spec.rb +11 -0
  1737. data/spec/lib/events/publish_spec.rb +93 -0
  1738. data/spec/lib/events/revoke_spec.rb +11 -0
  1739. data/spec/lib/events/state_spec.rb +11 -0
  1740. data/spec/lib/events/subscribe_spec.rb +11 -0
  1741. data/spec/lib/events/time_spec.rb +11 -0
  1742. data/spec/lib/events/validators_spec.rb +25 -0
  1743. data/spec/lib/events/where_now_spec.rb +11 -0
  1744. data/spec/lib/pubnub_spec.rb +16 -0
  1745. data/spec/lib/uuid_spec.rb +11 -0
  1746. data/spec/spec_helper.rb +33 -6
  1747. metadata +1771 -724
  1748. data/3.5_to_3.6_upgrade_notes.md +0 -148
  1749. data/CHANGELOG.txt +0 -87
  1750. data/examples/chaos/tmp/pids/passenger.3000.pid.lock +0 -0
  1751. data/examples/demo_console.rb +0 -435
  1752. data/examples/error_server.rb +0 -28
  1753. data/examples/pubnub_livestream/.gitignore +0 -16
  1754. data/examples/pubnub_livestream/Gemfile +0 -51
  1755. data/examples/pubnub_livestream/Gemfile.lock +0 -156
  1756. data/examples/pubnub_livestream/README.rdoc +0 -28
  1757. data/examples/pubnub_livestream/Rakefile +0 -6
  1758. data/examples/pubnub_livestream/app/assets/images/.keep +0 -0
  1759. data/examples/pubnub_livestream/app/assets/javascripts/application.js +0 -16
  1760. data/examples/pubnub_livestream/app/assets/javascripts/streamer.js.coffee +0 -42
  1761. data/examples/pubnub_livestream/app/assets/stylesheets/application.css.sass +0 -22
  1762. data/examples/pubnub_livestream/app/assets/stylesheets/streamer.css.scss +0 -3
  1763. data/examples/pubnub_livestream/app/controllers/application_controller.rb +0 -5
  1764. data/examples/pubnub_livestream/app/controllers/concerns/.keep +0 -0
  1765. data/examples/pubnub_livestream/app/controllers/streamer_controller.rb +0 -38
  1766. data/examples/pubnub_livestream/app/helpers/application_helper.rb +0 -2
  1767. data/examples/pubnub_livestream/app/helpers/streamer_helper.rb +0 -2
  1768. data/examples/pubnub_livestream/app/mailers/.keep +0 -0
  1769. data/examples/pubnub_livestream/app/models/.keep +0 -0
  1770. data/examples/pubnub_livestream/app/models/concerns/.keep +0 -0
  1771. data/examples/pubnub_livestream/app/models/message.rb +0 -11
  1772. data/examples/pubnub_livestream/app/views/layouts/application.html.erb +0 -14
  1773. data/examples/pubnub_livestream/app/views/streamer/index.haml +0 -22
  1774. data/examples/pubnub_livestream/bin/bundle +0 -3
  1775. data/examples/pubnub_livestream/bin/rails +0 -4
  1776. data/examples/pubnub_livestream/bin/rake +0 -4
  1777. data/examples/pubnub_livestream/config.ru +0 -4
  1778. data/examples/pubnub_livestream/config/application.rb +0 -23
  1779. data/examples/pubnub_livestream/config/boot.rb +0 -4
  1780. data/examples/pubnub_livestream/config/database.yml +0 -25
  1781. data/examples/pubnub_livestream/config/environment.rb +0 -5
  1782. data/examples/pubnub_livestream/config/environments/development.rb +0 -29
  1783. data/examples/pubnub_livestream/config/environments/production.rb +0 -80
  1784. data/examples/pubnub_livestream/config/environments/test.rb +0 -36
  1785. data/examples/pubnub_livestream/config/initializers/backtrace_silencers.rb +0 -7
  1786. data/examples/pubnub_livestream/config/initializers/filter_parameter_logging.rb +0 -4
  1787. data/examples/pubnub_livestream/config/initializers/inflections.rb +0 -16
  1788. data/examples/pubnub_livestream/config/initializers/mime_types.rb +0 -5
  1789. data/examples/pubnub_livestream/config/initializers/pubnub.rb +0 -12
  1790. data/examples/pubnub_livestream/config/initializers/secret_token.rb +0 -12
  1791. data/examples/pubnub_livestream/config/initializers/session_store.rb +0 -3
  1792. data/examples/pubnub_livestream/config/initializers/wrap_parameters.rb +0 -14
  1793. data/examples/pubnub_livestream/config/locales/en.yml +0 -23
  1794. data/examples/pubnub_livestream/config/routes.rb +0 -62
  1795. data/examples/pubnub_livestream/db/migrate/20130826110322_create_messages.rb +0 -11
  1796. data/examples/pubnub_livestream/db/schema.rb +0 -24
  1797. data/examples/pubnub_livestream/db/seeds.rb +0 -7
  1798. data/examples/pubnub_livestream/lib/assets/.keep +0 -0
  1799. data/examples/pubnub_livestream/lib/tasks/.keep +0 -0
  1800. data/examples/pubnub_livestream/log/.keep +0 -0
  1801. data/examples/pubnub_livestream/public/404.html +0 -58
  1802. data/examples/pubnub_livestream/public/422.html +0 -58
  1803. data/examples/pubnub_livestream/public/500.html +0 -57
  1804. data/examples/pubnub_livestream/public/assets/application-22a604196dfb65fd0d602eb1eb65f9b7.js +0 -4
  1805. data/examples/pubnub_livestream/public/assets/application-22a604196dfb65fd0d602eb1eb65f9b7.js.gz +0 -0
  1806. data/examples/pubnub_livestream/public/assets/application-3fac0c014bbdf9ee7b3986ff615d5da0.css +0 -5019
  1807. data/examples/pubnub_livestream/public/assets/application-3fac0c014bbdf9ee7b3986ff615d5da0.css.gz +0 -0
  1808. data/examples/pubnub_livestream/public/assets/application-f06834e402639ad43230e3859b9bdd78.css +0 -1
  1809. data/examples/pubnub_livestream/public/assets/application-f06834e402639ad43230e3859b9bdd78.css.gz +0 -0
  1810. data/examples/pubnub_livestream/public/assets/application-f91b87f490140d86003c46b4d06b6c70.js +0 -10682
  1811. data/examples/pubnub_livestream/public/assets/application-f91b87f490140d86003c46b4d06b6c70.js.gz +0 -0
  1812. data/examples/pubnub_livestream/public/assets/manifest-c129e1f5ec52d8b661ebfa902554a2e2.json +0 -1
  1813. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-0bc0341283e3bb8ec518375794cc7c28.eot +0 -0
  1814. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-24dfb40c91db789b8b8faba6886ac1ef.svg +0 -228
  1815. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-4b2130768da98222338d1519f9179528.ttf +0 -0
  1816. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-7a07f26f72466361ac9671de2d33fd1c.woff +0 -0
  1817. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-9f75212cf9fca594cee7e0e3587db9d1.svg +0 -228
  1818. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-ab2f6984951c07fd89e6afdefabd93c7.eot +0 -0
  1819. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-c21928f7d46b397b0af6b9ee4a7bd0dd.ttf +0 -0
  1820. data/examples/pubnub_livestream/public/assets/twitter/glyphicons-halflings-regular-fa1d7f79d80d03f8a598822bd9df79bf.woff +0 -0
  1821. data/examples/pubnub_livestream/public/favicon.ico +0 -0
  1822. data/examples/pubnub_livestream/public/robots.txt +0 -5
  1823. data/examples/pubnub_livestream/test/controllers/.keep +0 -0
  1824. data/examples/pubnub_livestream/test/controllers/streamer_controller_test.rb +0 -7
  1825. data/examples/pubnub_livestream/test/fixtures/.keep +0 -0
  1826. data/examples/pubnub_livestream/test/fixtures/messages.yml +0 -9
  1827. data/examples/pubnub_livestream/test/helpers/.keep +0 -0
  1828. data/examples/pubnub_livestream/test/helpers/streamer_helper_test.rb +0 -4
  1829. data/examples/pubnub_livestream/test/integration/.keep +0 -0
  1830. data/examples/pubnub_livestream/test/mailers/.keep +0 -0
  1831. data/examples/pubnub_livestream/test/models/.keep +0 -0
  1832. data/examples/pubnub_livestream/test/models/message_test.rb +0 -7
  1833. data/examples/pubnub_livestream/test/test_helper.rb +0 -15
  1834. data/examples/pubnub_livestream/vendor/assets/javascripts/.keep +0 -0
  1835. data/examples/pubnub_livestream/vendor/assets/stylesheets/.keep +0 -0
  1836. data/examples/serial_publish.rb +0 -42
  1837. data/examples/sinatra/.sass-cache/65d837cc121fc62381bb76d93e5bd081356aa3f9/application.sassc +0 -0
  1838. data/examples/sinatra/.sass-cache/d1525a8542f6e7fb2ecd3275251283768779b344/main.rbc +0 -0
  1839. data/examples/sinatra/.sass-cache/d35765d68c1df11fa3368aa802b3d38109cba214/application.sassc +0 -0
  1840. data/examples/sinatra/main.rb +0 -54
  1841. data/examples/sinatra/public/bootstrap-responsive.min.css +0 -9
  1842. data/examples/sinatra/public/bootstrap.css +0 -5909
  1843. data/examples/sinatra/public/bootstrap.min.css +0 -845
  1844. data/examples/sinatra/public/jquery-1.10.2.min.js +0 -5
  1845. data/examples/sinatra/views/application.sass +0 -6
  1846. data/examples/sinatra/views/index.slim +0 -16
  1847. data/examples/sinatra/views/layout.slim +0 -12
  1848. data/examples/sinatra/views/streamer.coffee +0 -41
  1849. data/examples/sub_and_unsub_1.rb +0 -57
  1850. data/examples/translator.rb +0 -129
  1851. data/fixtures/vcr_cassettes/auth_key_flow_auth_publish.yml +0 -45
  1852. data/fixtures/vcr_cassettes/auth_key_flow_empty_auth_audit.yml +0 -44
  1853. data/fixtures/vcr_cassettes/auth_key_flow_instead_auth_audit.yml +0 -44
  1854. data/fixtures/vcr_cassettes/auth_key_flow_no_auth_publish.yml +0 -45
  1855. data/fixtures/vcr_cassettes/auth_key_flow_non_auth_audit.yml +0 -44
  1856. data/fixtures/vcr_cassettes/eof_subscribe.yml +0 -85
  1857. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-array.yml +0 -89
  1858. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-hash.yml +0 -89
  1859. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-integer.yml +0 -89
  1860. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-mix.yml +0 -89
  1861. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-multi-mix.yml +0 -89
  1862. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-many-channels-string.yml +0 -89
  1863. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-array.yml +0 -89
  1864. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-hash.yml +0 -89
  1865. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-integer.yml +0 -89
  1866. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-mix.yml +0 -89
  1867. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-cipherkey-one-channel-string.yml +0 -89
  1868. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-array.yml +0 -89
  1869. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-hash.yml +0 -89
  1870. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-integer.yml +0 -89
  1871. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-mix.yml +0 -89
  1872. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-multi-mix.yml +0 -89
  1873. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-many-channels-string.yml +0 -89
  1874. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-array.yml +0 -89
  1875. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-hash.yml +0 -89
  1876. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-integer.yml +0 -89
  1877. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-mix.yml +0 -89
  1878. data/fixtures/vcr_cassettes/formatting-envelope-subscribe-without-cipherkey-one-channel-string.yml +0 -89
  1879. data/fixtures/vcr_cassettes/grant-application-level.yml +0 -44
  1880. data/fixtures/vcr_cassettes/grant-multiple-channels-presence-multi-1.yml +0 -44
  1881. data/fixtures/vcr_cassettes/grant-multiple-channels-presence-multi-2.yml +0 -44
  1882. data/fixtures/vcr_cassettes/grant-multiple-channels-presence-multi-3.yml +0 -44
  1883. data/fixtures/vcr_cassettes/grant-multiple-channels-presence-multi-4.yml +0 -44
  1884. data/fixtures/vcr_cassettes/grant-multiple-channels-presence.yml +0 -44
  1885. data/fixtures/vcr_cassettes/grant-multiple-channels.yml +0 -45
  1886. data/fixtures/vcr_cassettes/grant-nonssl-block-invalid-200-async.yml +0 -44
  1887. data/fixtures/vcr_cassettes/grant-nonssl-block-invalid-200-sync.yml +0 -44
  1888. data/fixtures/vcr_cassettes/grant-nonssl-block-invalid-non-200-async.yml +0 -44
  1889. data/fixtures/vcr_cassettes/grant-nonssl-block-invalid-non-200-sync.yml +0 -44
  1890. data/fixtures/vcr_cassettes/grant-nonssl-block-valid-200-async.yml +0 -45
  1891. data/fixtures/vcr_cassettes/grant-nonssl-block-valid-200-sync.yml +0 -45
  1892. data/fixtures/vcr_cassettes/grant-nonssl-block-valid-non-200-async.yml +0 -45
  1893. data/fixtures/vcr_cassettes/grant-nonssl-block-valid-non-200-sync.yml +0 -45
  1894. data/fixtures/vcr_cassettes/grant-nonssl-parameter-invalid-200-async.yml +0 -44
  1895. data/fixtures/vcr_cassettes/grant-nonssl-parameter-invalid-200-sync.yml +0 -44
  1896. data/fixtures/vcr_cassettes/grant-nonssl-parameter-invalid-non-200-async.yml +0 -44
  1897. data/fixtures/vcr_cassettes/grant-nonssl-parameter-invalid-non-200-sync.yml +0 -44
  1898. data/fixtures/vcr_cassettes/grant-nonssl-parameter-valid-200-async.yml +0 -45
  1899. data/fixtures/vcr_cassettes/grant-nonssl-parameter-valid-200-sync.yml +0 -45
  1900. data/fixtures/vcr_cassettes/grant-nonssl-parameter-valid-non-200-async.yml +0 -45
  1901. data/fixtures/vcr_cassettes/grant-nonssl-parameter-valid-non-200-sync.yml +0 -45
  1902. data/fixtures/vcr_cassettes/grant-ssl-block-invalid-200-async.yml +0 -44
  1903. data/fixtures/vcr_cassettes/grant-ssl-block-invalid-200-sync.yml +0 -44
  1904. data/fixtures/vcr_cassettes/grant-ssl-block-invalid-non-200-async.yml +0 -44
  1905. data/fixtures/vcr_cassettes/grant-ssl-block-invalid-non-200-sync.yml +0 -44
  1906. data/fixtures/vcr_cassettes/grant-ssl-block-valid-200-async.yml +0 -45
  1907. data/fixtures/vcr_cassettes/grant-ssl-block-valid-200-sync.yml +0 -45
  1908. data/fixtures/vcr_cassettes/grant-ssl-block-valid-non-200-async.yml +0 -45
  1909. data/fixtures/vcr_cassettes/grant-ssl-block-valid-non-200-sync.yml +0 -45
  1910. data/fixtures/vcr_cassettes/grant-ssl-parameter-invalid-200-async.yml +0 -44
  1911. data/fixtures/vcr_cassettes/grant-ssl-parameter-invalid-200-sync.yml +0 -44
  1912. data/fixtures/vcr_cassettes/grant-ssl-parameter-invalid-non-200-async.yml +0 -44
  1913. data/fixtures/vcr_cassettes/grant-ssl-parameter-invalid-non-200-sync.yml +0 -44
  1914. data/fixtures/vcr_cassettes/grant-ssl-parameter-valid-200-async.yml +0 -45
  1915. data/fixtures/vcr_cassettes/grant-ssl-parameter-valid-200-sync.yml +0 -45
  1916. data/fixtures/vcr_cassettes/grant-ssl-parameter-valid-non-200-async.yml +0 -45
  1917. data/fixtures/vcr_cassettes/grant-ssl-parameter-valid-non-200-sync.yml +0 -45
  1918. data/fixtures/vcr_cassettes/heartbeat-test.yml +0 -91
  1919. data/fixtures/vcr_cassettes/heartbeated-subscribe.yml +0 -136
  1920. data/fixtures/vcr_cassettes/new_ones/publish/store-false.yml +0 -44
  1921. data/fixtures/vcr_cassettes/new_ones/publish/store-true.yml +0 -44
  1922. data/fixtures/vcr_cassettes/non-heartbeated-subscribe.yml +0 -44
  1923. data/fixtures/vcr_cassettes/paged-history-async.yml +0 -49
  1924. data/fixtures/vcr_cassettes/paged-history-pages-async.yml +0 -141
  1925. data/fixtures/vcr_cassettes/paged-history-pages-ssl-async.yml +0 -141
  1926. data/fixtures/vcr_cassettes/paged-history-pages-ssl-sync.yml +0 -141
  1927. data/fixtures/vcr_cassettes/paged-history-pages-start-async.yml +0 -95
  1928. data/fixtures/vcr_cassettes/paged-history-pages-start-ssl-async.yml +0 -95
  1929. data/fixtures/vcr_cassettes/paged-history-pages-start-ssl-sync.yml +0 -95
  1930. data/fixtures/vcr_cassettes/paged-history-pages-start-sync.yml +0 -95
  1931. data/fixtures/vcr_cassettes/paged-history-pages-sync.yml +0 -140
  1932. data/fixtures/vcr_cassettes/paged-history-ssl-async.yml +0 -49
  1933. data/fixtures/vcr_cassettes/paged-history-ssl-sync.yml +0 -49
  1934. data/fixtures/vcr_cassettes/paged-history-start-async.yml +0 -49
  1935. data/fixtures/vcr_cassettes/paged-history-start-ssl-async.yml +0 -49
  1936. data/fixtures/vcr_cassettes/paged-history-start-ssl-sync.yml +0 -49
  1937. data/fixtures/vcr_cassettes/paged-history-start-sync.yml +0 -49
  1938. data/fixtures/vcr_cassettes/paged-history-sync.yml +0 -49
  1939. data/fixtures/vcr_cassettes/pam1.yml +0 -35
  1940. data/fixtures/vcr_cassettes/pam10.yml +0 -35
  1941. data/fixtures/vcr_cassettes/pam11.yml +0 -35
  1942. data/fixtures/vcr_cassettes/pam12.yml +0 -35
  1943. data/fixtures/vcr_cassettes/pam13.yml +0 -35
  1944. data/fixtures/vcr_cassettes/pam14.yml +0 -35
  1945. data/fixtures/vcr_cassettes/pam15.yml +0 -35
  1946. data/fixtures/vcr_cassettes/pam17.yml +0 -35
  1947. data/fixtures/vcr_cassettes/pam2.yml +0 -35
  1948. data/fixtures/vcr_cassettes/pam20.yml +0 -35
  1949. data/fixtures/vcr_cassettes/pam21.yml +0 -35
  1950. data/fixtures/vcr_cassettes/pam22.yml +0 -97
  1951. data/fixtures/vcr_cassettes/pam4.yml +0 -35
  1952. data/fixtures/vcr_cassettes/pam5.yml +0 -66
  1953. data/fixtures/vcr_cassettes/pam6.yml +0 -96
  1954. data/fixtures/vcr_cassettes/publish-nonssl-block-invalid-200-async.yml +0 -44
  1955. data/fixtures/vcr_cassettes/publish-nonssl-block-invalid-200-sync.yml +0 -44
  1956. data/fixtures/vcr_cassettes/publish-nonssl-block-invalid-non-200-async.yml +0 -44
  1957. data/fixtures/vcr_cassettes/publish-nonssl-block-invalid-non-200-sync.yml +0 -44
  1958. data/fixtures/vcr_cassettes/publish-nonssl-block-valid-200-async.yml +0 -44
  1959. data/fixtures/vcr_cassettes/publish-nonssl-block-valid-200-sync.yml +0 -44
  1960. data/fixtures/vcr_cassettes/publish-nonssl-block-valid-non-200-async.yml +0 -44
  1961. data/fixtures/vcr_cassettes/publish-nonssl-block-valid-non-200-sync.yml +0 -44
  1962. data/fixtures/vcr_cassettes/publish-nonssl-parameter-invalid-200-async.yml +0 -44
  1963. data/fixtures/vcr_cassettes/publish-nonssl-parameter-invalid-200-sync.yml +0 -44
  1964. data/fixtures/vcr_cassettes/publish-nonssl-parameter-invalid-non-200-async.yml +0 -44
  1965. data/fixtures/vcr_cassettes/publish-nonssl-parameter-invalid-non-200-sync.yml +0 -44
  1966. data/fixtures/vcr_cassettes/publish-nonssl-parameter-valid-200-async.yml +0 -44
  1967. data/fixtures/vcr_cassettes/publish-nonssl-parameter-valid-200-sync.yml +0 -44
  1968. data/fixtures/vcr_cassettes/publish-nonssl-parameter-valid-non-200-async.yml +0 -44
  1969. data/fixtures/vcr_cassettes/publish-nonssl-parameter-valid-non-200-sync.yml +0 -44
  1970. data/fixtures/vcr_cassettes/publish-ssl-block-invalid-200-async.yml +0 -44
  1971. data/fixtures/vcr_cassettes/publish-ssl-block-invalid-200-sync.yml +0 -44
  1972. data/fixtures/vcr_cassettes/publish-ssl-block-invalid-non-200-async.yml +0 -44
  1973. data/fixtures/vcr_cassettes/publish-ssl-block-invalid-non-200-sync.yml +0 -44
  1974. data/fixtures/vcr_cassettes/publish-ssl-block-valid-200-async.yml +0 -44
  1975. data/fixtures/vcr_cassettes/publish-ssl-block-valid-200-sync.yml +0 -44
  1976. data/fixtures/vcr_cassettes/publish-ssl-block-valid-non-200-async.yml +0 -44
  1977. data/fixtures/vcr_cassettes/publish-ssl-block-valid-non-200-sync.yml +0 -44
  1978. data/fixtures/vcr_cassettes/publish-ssl-parameter-invalid-200-async.yml +0 -44
  1979. data/fixtures/vcr_cassettes/publish-ssl-parameter-invalid-200-sync.yml +0 -44
  1980. data/fixtures/vcr_cassettes/publish-ssl-parameter-invalid-non-200-async.yml +0 -44
  1981. data/fixtures/vcr_cassettes/publish-ssl-parameter-invalid-non-200-sync.yml +0 -44
  1982. data/fixtures/vcr_cassettes/publish-ssl-parameter-valid-200-async.yml +0 -44
  1983. data/fixtures/vcr_cassettes/publish-ssl-parameter-valid-200-sync.yml +0 -44
  1984. data/fixtures/vcr_cassettes/publish-ssl-parameter-valid-non-200-async.yml +0 -44
  1985. data/fixtures/vcr_cassettes/publish-ssl-parameter-valid-non-200-sync.yml +0 -44
  1986. data/fixtures/vcr_cassettes/single-event-invalid-json.yml +0 -85
  1987. data/fixtures/vcr_cassettes/single-event-non200.yml +0 -44
  1988. data/fixtures/vcr_cassettes/state-async-set-state-via-subbedclient-2.yml +0 -140
  1989. data/fixtures/vcr_cassettes/state-async-set-state-via-subbedclient.yml +0 -131
  1990. data/fixtures/vcr_cassettes/state-async-set-state-via-subscribe.yml +0 -90
  1991. data/fixtures/vcr_cassettes/state-set-state-via-client-2.yml +0 -140
  1992. data/fixtures/vcr_cassettes/state-set-state-via-client.yml +0 -90
  1993. data/fixtures/vcr_cassettes/state-set-state-via-subscribe.yml +0 -90
  1994. data/lib/pubnub/exceptions.rb +0 -50
  1995. data/lib/pubnub/parser.rb +0 -21
  1996. data/lib/pubnub/validator.rb +0 -29
  1997. data/spec/lib/auth_key_flow_spec.rb +0 -60
  1998. data/spec/lib/channel_presence_concat_pam_spec.rb +0 -94
  1999. data/spec/lib/encoder_spec.rb +0 -51
  2000. data/spec/lib/eof_error_spec.rb +0 -48
  2001. data/spec/lib/formatting_envelope_spec.rb +0 -304
  2002. data/spec/lib/heartbeat_spec.rb +0 -110
  2003. data/spec/lib/integration/audit_dpc_spec.rb +0 -544
  2004. data/spec/lib/integration/audit_spec.rb +0 -544
  2005. data/spec/lib/integration/channel_groups_spec.rb +0 -120
  2006. data/spec/lib/integration/channel_registration_spec.rb +0 -317
  2007. data/spec/lib/integration/global_here_now_dpc_spec.rb +0 -541
  2008. data/spec/lib/integration/global_here_now_spec.rb +0 -541
  2009. data/spec/lib/integration/grant_dpc_spec.rb +0 -555
  2010. data/spec/lib/integration/grant_spec.rb +0 -580
  2011. data/spec/lib/integration/here_now_dpc_spec.rb +0 -543
  2012. data/spec/lib/integration/here_now_spec.rb +0 -543
  2013. data/spec/lib/integration/history_dpc_spec.rb +0 -541
  2014. data/spec/lib/integration/history_spec.rb +0 -541
  2015. data/spec/lib/integration/leave_dpc_spec.rb +0 -539
  2016. data/spec/lib/integration/leave_spec.rb +0 -540
  2017. data/spec/lib/integration/multiplexed_subscribe_flow_spec.rb +0 -44
  2018. data/spec/lib/integration/paged_history_spec.rb +0 -284
  2019. data/spec/lib/integration/presence_dpc_spec.rb +0 -557
  2020. data/spec/lib/integration/presence_spec.rb +0 -557
  2021. data/spec/lib/integration/publish_dpc_spec.rb +0 -1877
  2022. data/spec/lib/integration/publish_spec.rb +0 -1912
  2023. data/spec/lib/integration/publish_spec_old.rb +0 -541
  2024. data/spec/lib/integration/revoke_dpc_spec.rb +0 -555
  2025. data/spec/lib/integration/revoke_spec.rb +0 -555
  2026. data/spec/lib/integration/state_spec.rb +0 -84
  2027. data/spec/lib/integration/subscribe_dpc_spec.rb +0 -564
  2028. data/spec/lib/integration/subscribe_spec.rb +0 -564
  2029. data/spec/lib/integration/time_dpc_spec.rb +0 -541
  2030. data/spec/lib/integration/time_spec.rb +0 -541
  2031. data/spec/lib/integration/v3_presence_dpc_spec.rb +0 -557
  2032. data/spec/lib/integration/v3_presence_spec.rb +0 -557
  2033. data/spec/lib/integration/where_now_spec.rb +0 -312
  2034. data/spec/lib/integration/wildcard_subscribe_spec.rb +0 -150
  2035. data/spec/lib/retry_logic_spec.rb +0 -53
  2036. data/spec/lib/subscribe_event.rb +0 -16
@@ -0,0 +1,48 @@
1
+ # Toplevel Pubnub module.
2
+ module Pubnub
3
+ # Some custom pubnub errors
4
+ # TODO: yardoc
5
+ class Error < StandardError
6
+ attr_reader :env, :message
7
+
8
+ def initialize(env = {})
9
+ unless env.instance_of? Hash
10
+ fail ::ArgumentError, 'Env passed to Pubnub::Error must be a hash'
11
+ end
12
+
13
+ @env = env
14
+ @message = ''
15
+
16
+ build_message
17
+
18
+ log_error
19
+ end
20
+
21
+ private
22
+
23
+ def build_message
24
+ insert_value 'operation', @env[:operation]
25
+ insert_value 'request', @env[:request]
26
+ insert_value 'env', @env[:env]
27
+ insert_value 'app', @env[:app]
28
+ insert_value 'response', @env[:response]
29
+ insert_value 'error type', @env[:error]
30
+ insert_value 'error message', @env[:message]
31
+ insert_value 'error backtrace', backtrace
32
+ end
33
+
34
+ def insert_value(key, val)
35
+ @message << "#{key.upcase}: #{val}\n" if val
36
+ end
37
+
38
+ def log_error
39
+ Pubnub.logger.error('Pubnub') { @message } if Pubnub.logger
40
+ end
41
+ end
42
+
43
+ class JSONParseError < Error; end
44
+ class InitializationError < Error; end
45
+ class ArgumentError < Error; end
46
+ class RequestError < Error; end
47
+ class ResponseError < Error; end
48
+ end
@@ -0,0 +1,34 @@
1
+ # Toplevel Pubnub module.
2
+ module Pubnub
3
+ # Every error message from server is formatted into easy to use ErrorEnvelope
4
+ # object, it behaves like normal Envelope, only difference is that it returns
5
+ # true on error? method
6
+ class ErrorEnvelope < Envelope
7
+ def initialize(_env = {})
8
+ super
9
+ set_error_message
10
+ end
11
+
12
+ def error?
13
+ true
14
+ end
15
+
16
+ private
17
+
18
+ def set_error_message
19
+ puts "\n\n#{@error.inspect}\n\n"
20
+ @message = case @error.class.to_s
21
+ when 'JSON::ParserError'
22
+ '[0,"Invalid JSON in response."]'
23
+ when 'HTTP::Message'
24
+ if @error.status_code.to_i != 200
25
+ '[0,"Non 2xx server response."]'
26
+ else
27
+ '[0,"Unknown error"]'
28
+ end
29
+ else
30
+ '[0,"Unknown error"]'
31
+ end
32
+ end
33
+ end
34
+ end
data/lib/pubnub/event.rb CHANGED
@@ -1,752 +1,193 @@
1
+ # Toplevel Pubnub module.
1
2
  module Pubnub
2
- module Event
3
- attr_reader :fired, :finished
3
+ # Event module holds most basic and required infrastructure for every pubnub
4
+ # event, there are also SingleEvent module and SubscribeEvent module
5
+ class Event
6
+ attr_reader :origin, :callback, :error_callback, :channel,
7
+ :open_timeout, :read_timeout, :idle_timeout, :group,
8
+ :presence_callback, :wildcard_channel, :ssl, :state
9
+
10
+ alias_method :channels, :channel
4
11
 
5
12
  def initialize(options, app)
6
- @app = app
7
- @origin = options[:origin] || app.env[:origin]
8
- @channel = options[:channel]
9
- @channel_group = options[:group]
10
- @message = options[:message]
11
- @http_sync = options[:http_sync]
12
- @callback = options[:callback]
13
- @error_callback = options[:error_callback] || app.env[:error_callback]
14
- @presence_callback= options[:presence_callback] || app.env[:presence_callback]
15
- @connect_callback = options[:connect_callback] || app.env[:connect_callback]
16
- @ssl = options[:ssl] || app.env[:ssl]
17
-
18
- @cipher_key = app.env[:cipher_key]
19
- @secret_key = app.env[:secret_key]
20
- @auth_key = options[:auth_key] || app.env[:auth_key]
21
- @publish_key = app.env[:publish_key]
22
- @subscribe_key = app.env[:subscribe_key]
23
-
24
- @write = options[:write]
25
- @read = options[:read]
26
- @manage = options[:manage]
27
-
28
- @response = nil
29
- @timetoken = app.env[:timetoken] || 0
13
+ @app = app
14
+ env = app.env.clone
15
+ env.delete(:state)
16
+ create_variables_from_options(env.merge(options))
17
+ @origin = @app.current_origin
18
+ format_channels
19
+ format_group
20
+ set_timestamp
30
21
  validate!
31
- @channel = format_channels(@channel)
32
- @channel_group = format_channel_group(options[:group], false)
33
- @original_channel = format_channels(@channel, false)
34
-
35
- case(options[:store])
36
- when true
37
- @store = 1
38
- when false
39
- @store = 0
40
- end
41
-
42
- Pubnub.logger.debug(:pubnub){"Event#initialize | Initialized #{self.class.to_s}"}
22
+ Pubnub.logger.debug('Pubnub::Event') { "Initialized #{self.class}" }
43
23
  end
44
24
 
45
- def secure_call(lambda, parameter)
46
- begin
47
- lambda.call parameter
48
- rescue => e
49
- Pubnub.logger.error(:pubnub){"Can't fire callback because: #{e}"}
50
- end
51
- end
25
+ def fire
26
+ Pubnub.logger.debug('Pubnub::Event') { "Fired event #{self.class}" }
52
27
 
53
- def fire(app)
54
- Pubnub.logger.debug(:pubnub){'Pubnub::Event#fire'}
55
- @fired = true
56
- Pubnub.logger.debug(:pubnub){'Event#fire'}
57
- setup_connection(app) unless connection_exist?(app)
58
- envelopes = start_event(app)
59
- end
28
+ message = send_request
60
29
 
61
- def send_request(app)
62
- Pubnub.logger.debug(:pubnub){'Pubnub::Event#send_request'}
63
- if app.disabled_persistent_connection?
64
- @response = Net::HTTP.get_response uri(app)
65
- else
66
- @response = get_connection(app).request(uri(app))
67
- end
68
- end
69
-
70
- def start_event(app, count = 0)
71
- begin
72
- @response = nil
73
- if count <= app.env[:max_retries]
74
- Pubnub.logger.debug(:pubnub){'Event#start_event | sending request'}
75
- Pubnub.logger.debug(:pubnub){"Event#start_event | tt: #{@timetoken}; ctt #{app.env[:timetoken]}"}
76
- @response = send_request(app)
77
- end
78
-
79
- error = response_error(@response, app)
80
-
81
- if ![error].flatten.include?(:json) || count > app.env[:max_retries] || app.env[:max_retries] == 0
82
- handle_response(@response, app, error)
83
- else
84
- start_event(app, count + 1)
85
- end
86
- rescue => e
87
- Pubnub.logger.error(:pubnub){e.inspect}
88
- sleep app.env[:retries_interval]
89
- if count <= app.env[:max_retries]
90
- start_event(app, count + 1)
91
- else
92
- Pubnub.logger.error(:pubnub){"Aborting #{self.class} event due to network errors and reaching max retries"}
93
- app.env[:subscribe_railgun].cancel if app.env[:subscribe_railgun]
94
- app.env[:subscribe_railgun] = nil
95
- false
96
- end
97
- end
30
+ envelopes = fire_callbacks(handle(message))
31
+ finalize_event(envelopes)
32
+ envelopes
33
+ ensure
34
+ terminate unless @stay_alive
98
35
  end
99
36
 
100
- def validate!
101
- if @allow_multiple_channels == true
102
- raise ArgumentError.new(:object => self, :message => 'Invalid channel(s) format! Should be type of: String, Symbol, or Array of both') unless valid_channel?(true)
103
- elsif @allow_multiple_channels == false
104
- raise ArgumentError.new(:object => self, :message => 'Invalid channel(s) format! Should be type of: String, Symbol') unless valid_channel?(false)
37
+ def send_request(retries = 0, compressed_body = '')
38
+ sender = request_dispatcher
39
+ if compressed_body.empty?
40
+ sender.get(uri.to_s)
41
+ else
42
+ sender.post(uri.to_s, body: compressed_body)
105
43
  end
106
44
 
107
- unless @doesnt_require_callback
108
- raise ArgumentError.new(:object => self, :message => 'Callback parameter is required while using async') if (!@http_sync && @callback.blank?)
45
+ rescue => error
46
+ Pubnub.logger.warn('Pubnub') { "#{@event} failed! Reason: #{error}" }
47
+ if retries < @app.env[:reconnect_attempts]
48
+ message = retry_sending_request(retries)
49
+ else
50
+ Pubnub.logger.error('Pubnub') { error }
51
+ raise error
109
52
  end
110
-
53
+ message
111
54
  end
112
55
 
113
- def finished?
114
- @finished ? true : false
56
+ def retry_sending_request(retries)
57
+ retries += 1
58
+ Pubnub.logger.warn('Pubnub') { "Sleeping #{@app.env[:reconnect_interval]} before retrying to run #{@event}." }
59
+ sleep(@app.env[:reconnect_interval])
60
+ Pubnub.logger.warn('Pubnub') { 'Trying to reconnect.' }
61
+ send_request(retries)
115
62
  end
116
63
 
117
- def fired?
118
- @fired ? true : false
64
+ def uri
65
+ uri = @ssl ? 'https://' : 'http://'
66
+ uri += @origin
67
+ uri += path
68
+ uri += '?' + Formatter.params_hash_to_url_params(parameters)
69
+ Pubnub.logger.debug('Pubnub::Event') { "Requested URI: #{uri}" }
70
+ URI uri
119
71
  end
120
72
 
121
- private
122
-
123
- def response_error(response, app)
124
- if Parser.valid_json?(response.body) && (200..206).include?(response.code.to_i)
125
- error = false
126
- elsif Parser.valid_json?(response.body) && !(200..206).include?(response.code.to_i)
127
- error = [:code]
128
- elsif !Parser.valid_json?(response.body) && (200..206).include?(response.code.to_i)
129
- error = [:json]
130
- else
131
- error = [:code, :json]
132
- end
133
-
134
- error
73
+ def finalized?
74
+ @finalized || @stop
135
75
  end
136
76
 
137
- def handle_response(response, app, error)
138
-
139
- Pubnub.logger.debug(:pubnub){'Event#handle_response'}
140
- envelopes = format_envelopes(response, app, error)
141
- Pubnub.logger.debug(:pubnub){"Response: #{response.body}"} if (response && response.body)
142
- update_app_timetoken(envelopes, app)
143
- @finished = true
144
- fire_callbacks(envelopes,app)
145
- envelopes
146
-
77
+ def sync?
78
+ @http_sync ? true : false
147
79
  end
148
80
 
149
- def update_app_timetoken(envelopes, app)
150
- # stub
151
- end
81
+ private
152
82
 
153
- def fire_callbacks(envelopes, app)
154
- unless envelopes.blank?
155
- Pubnub.logger.debug(:pubnub){'Firing callbacks'}
156
- # EM.defer do
157
- envelopes.each do |envelope|
158
- secure_call(@callback, envelope) if envelope && !envelope.error && @callback && !envelope.timetoken_update
159
- #if envelope.timetoken_update || envelope.timetoken.to_i > app.env[:timetoken].to_i
160
- # update_timetoken(app, envelope.timetoken)
161
- #end
162
- end
163
- secure_call(@error_callback, envelopes.first) if envelopes.first.error
164
- # end
165
- else
166
- Pubnub.logger.debug(:pubnub){'No envelopes for callback'}
167
- end
83
+ def secure_call(cb, arg)
84
+ cb.call arg
85
+ rescue => error
86
+ Pubnub.logger.error('Pubnub::Event') { "Error while calling callback #{error.inspect}" }
168
87
  end
169
88
 
170
- def update_timetoken(app, timetoken)
171
- @timetoken = timetoken.to_i
172
- app.update_timetoken(timetoken.to_i)
173
- Pubnub.logger.debug(:pubnub){"Updated timetoken to #{timetoken}"}
89
+ def format_channels
90
+ @channel = Formatter.format_channel(@channel || @channels)
91
+ @channel += Formatter.format_presence_channel(@presence)
92
+ @wildcard_channel = @channel.select { |e| e.index('.*') } || []
174
93
  end
175
94
 
176
- def add_common_data_to_envelopes(envelopes, response, app, error)
177
- Pubnub.logger.debug(:pubnub){'Event#add_common_data_to_envelopes'}
178
-
95
+ def fire_callbacks(envelopes)
96
+ Pubnub.logger.debug('Pubnub::Event') { "Firing callbacks for #{self.class}" }
179
97
  envelopes.each do |envelope|
180
- envelope.response = response.body
181
- envelope.object = response
182
- envelope.status = response.code.to_i
98
+ if !envelope.error && @callback && !envelope.timetoken_update
99
+ secure_call @callback, envelope
100
+ end
101
+ secure_call(@error_callback, envelope) if envelope.error
183
102
  end
184
-
185
- envelopes.last.last = true if envelopes.last
186
- envelopes.first.first = true if envelopes.first
187
-
188
- envelopes = insert_errors(envelopes, error, app) if error
189
-
190
103
  envelopes
191
104
  end
192
105
 
193
- def insert_errors(envelopes, error_symbol, app)
194
- case error_symbol
195
- when [:json]
196
- error_message = '[0,"Invalid JSON in response."]'
197
- error = JSONParseError.new(
198
- :app => app,
199
- :message => error_message,
200
- :request => self.class,
201
- :response => @response.body,
202
- :error => error_symbol
203
- )
204
- when [:code]
205
- error_message = '[0,"Non 2xx server response."]'
206
- error = ResponseError.new(
207
- :app => app,
208
- :message => error_message,
209
- :request => self.class,
210
- :response => @response.body,
211
- :error => error_symbol
212
- )
213
- when [:code, :json]
214
- error_message = '[0,"Invalid JSON in response."]'
215
- error = ResponseError.new(
216
- :app => app,
217
- :message => error_message,
218
- :request => self.class,
219
- :response => @response.body,
220
- :error => error_symbol
221
- )
222
- else
223
- error_message = '[0, "Unknown Error."]'
224
- error = Error.new(
225
- :app => app,
226
- :message => error_message,
227
- :request => self.class,
228
- :response => @response.body,
229
- :error => error_symbol
230
- )
231
- end
232
-
233
- envelopes.first.error = error
234
- envelopes.first.message = error_message
235
- envelopes.first.last = true
236
-
237
- [envelopes.first]
238
- end
239
-
240
- def uri(app)
241
- Pubnub.logger.debug(:pubnub){"#{self.class}#uri #{[origin(app), path(app), '?', params_hash_to_url_params(parameters(app))].join}"}
242
- URI [origin(app), path(app), '?', params_hash_to_url_params(parameters(app))].join
243
- end
244
-
245
- def origin(app)
246
- h = @ssl ? 'https://' : 'http://'
247
- h + @origin
248
- end
249
-
250
- def parameters(app)
106
+ def parameters
251
107
  required = {
252
- :pnsdk => "PubNub-Ruby/#{Pubnub::VERSION}"
108
+ pnsdk: "PubNub-Ruby/#{Pubnub::VERSION}"
253
109
  }
254
110
 
255
111
  empty_if_blank = {
256
- :auth => @auth_key,
257
- :uuid => app.env[:uuid],
112
+ auth: @auth_key,
113
+ uuid: @app.env[:uuid]
258
114
  }
259
115
 
260
- empty_if_blank.delete_if {|k, v| v.blank? }
116
+ empty_if_blank.delete_if { |_k, v| v.blank? }
261
117
 
262
118
  required.merge(empty_if_blank)
263
119
  end
264
120
 
265
- end
266
-
267
- module SingleEvent
121
+ def add_common_data_to_envelopes(envelopes, response)
122
+ Pubnub.logger.debug('Pubnub::Event') { 'Event#add_common_data_to_envelopes' }
268
123
 
269
- def fire(app)
270
- Pubnub.logger.debug(:pubnub){'Pubnub::SingleEvent#fire'}
271
- if @http_sync
272
- Pubnub.logger.debug(:pubnub){'Pubnub::SingleEvent#fire | Sync event!'}
273
- super(app)
274
- elsif app.async_events.include? self
275
- Pubnub.logger.debug(:pubnub){'Pubnub::SingleEvent#fire | Event already on list!'}
276
- super(app)
277
- else
278
- Pubnub.logger.debug(:pubnub){'Pubnub::SingleEvent#fire | Adding event to async_events'}
279
- app.async_events << self
280
- Pubnub.logger.debug(:pubnub){'Pubnub::SingleEvent#fire | Starting railgun'}
281
- app.start_railgun
124
+ envelopes.each do |envelope|
125
+ envelope.response = response.body
126
+ envelope.object = response
127
+ envelope.status = response.code.to_i
128
+ envelope.mark_as_timetoken
282
129
  end
283
- end
284
-
285
- private
286
130
 
287
- def setup_connection(app)
288
- app.single_event_connections_pool[@origin] = new_connection(app)
289
- end
290
-
291
- def connection_exist?(app)
292
- !app.single_event_connections_pool[@origin].nil? && !app.single_event_connections_pool[@origin].nil?
293
- end
131
+ envelopes.last.last = true if envelopes.last
132
+ envelopes.first.first = true if envelopes.first
294
133
 
295
- def get_connection(app)
296
- app.single_event_connections_pool[@origin]
134
+ envelopes
297
135
  end
298
136
 
299
- def new_connection(app)
300
- unless app.disabled_persistent_connection?
301
- connection = Net::HTTP::Persistent.new "pubnub_ruby_client_v#{Pubnub::VERSION}"
302
- connection.idle_timeout = app.env[:timeout]
303
- connection.read_timeout = app.env[:timeout]
304
- connection.proxy_from_env
305
- connection
306
- end
307
- end
308
- end
137
+ def handle(response)
138
+ Pubnub.logger.debug('Pubnub::Event') { 'Event#handle' }
309
139
 
310
- module SubscribeEvent
311
- def initialize(options, app)
312
- super
140
+ @response = response
141
+ @envelopes = format_envelopes response
313
142
  end
314
143
 
315
- def fire(app)
316
- begin
317
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#fire'}
318
- if @http_sync
319
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#fire sync'}
320
- if self.class == Pubnub::Subscribe && app.env[:heartbeat]
321
- app.heartbeat(:channel => @channel, :http_sync => true)
322
- envelopes = super
323
- @channel.each do |channel|
324
- app.leave(:channel => channel, :http_sync => true, :skip_remove => true, :force => true) unless (app.env[:subscriptions][@origin] && app.env[:subscriptions][@origin].get_channels.include(channel))
325
- end
326
- else
327
- envelopes = super
328
- end
329
- envelopes
330
- else
331
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#fire async'}
332
- Pubnub.logger.debug(:pubnub){"Channel: #{@channel}"}
333
- setup_connection(app) unless connection_exist?(app)
334
- unless app.env[:subscriptions][@origin].blank?
335
- @channel.each do |channel|
336
- if app.env[:subscriptions][@origin].get_channels.include?(channel)
337
- @channel.delete(channel)
338
- Pubnub.logger.error(:pubnub){"Already subscribed to channel #{channel}, you have to leave that channel first"}
339
- end
340
- end
341
-
342
- @channel.each do |channel|
343
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#add_channel | Adding channel'}
344
- app.env[:subscriptions][@origin].add_channel(channel, app)
345
- end
346
-
347
- @channel_group.each do |cg|
348
- if app.env[:subscriptions][@origin].get_channel_groups.include?(cg)
349
- @channel_group.delete(cg)
350
- Pubnub.logger.error(:pubnub){"Already subscribed to channel group #{cg}, you have to leave that channel first"}
351
- else
352
- app.env[:subscriptions][@origin].add_channel_group(cg, app)
353
- end
354
- end
355
-
356
- @wildcard_channel.each do |wc|
357
- if app.env[:subscriptions][@origin].get_wildcard_channels.include?(wc)
358
- @wildcard_channel.delete(wc)
359
- Pubnub.logger.error(:pubnub){"Already subscribed to wildcard channel #{wc}, you have to leave that channel first"}
360
- else
361
- app.env[:subscriptions][@origin].add_wildcard_channel(wc, app)
362
- end
363
- end
364
-
365
- if @channel.empty?
366
- false
367
- else
368
- app.start_respirator
369
- true
370
- end
371
- end
372
-
373
- if app.env[:subscriptions][@origin].nil?
374
- app.env[:subscriptions][@origin] = self if app.env[:subscriptions][@origin].nil?
375
- app.env[:callbacks_pool] = Hash.new if app.env[:callbacks_pool].nil?
376
- app.env[:callbacks_pool][:channel] = Hash.new if app.env[:callbacks_pool][:channel].nil?
377
- app.env[:callbacks_pool][:channel_group] = Hash.new if app.env[:callbacks_pool][:channel_group].nil?
378
- app.env[:callbacks_pool][:wildcard_channel] = Hash.new if app.env[:callbacks_pool][:wildcard_channel].nil?
379
- app.env[:callbacks_pool][:channel][@origin] = Hash.new if app.env[:callbacks_pool][:channel][@origin].nil?
380
- app.env[:callbacks_pool][:channel_group][@origin] = Hash.new if app.env[:callbacks_pool][:channel_group][@origin].nil?
381
- app.env[:callbacks_pool][:wildcard_channel][@origin] = Hash.new if app.env[:callbacks_pool][:wildcard_channel][@origin].nil?
382
- app.env[:error_callbacks_pool] = Hash.new if app.env[:error_callbacks_pool].nil?
383
- app.env[:error_callbacks_pool][:channel] = Hash.new if app.env[:error_callbacks_pool][:channel].nil?
384
- app.env[:error_callbacks_pool][:channel][@origin] = @error_callback if app.env[:error_callbacks_pool][:channel][@origin].nil?
385
- app.env[:error_callbacks_pool][:channel_group] = Hash.new if app.env[:error_callbacks_pool][:channel_group].nil?
386
- app.env[:error_callbacks_pool][:channel_group][@origin] = @error_callback if app.env[:error_callbacks_pool][:channel_group][@origin].nil?
387
- app.env[:error_callbacks_pool][:wildcard_channel] = Hash.new if app.env[:error_callbacks_pool][:wildcard_channel].nil?
388
- app.env[:error_callbacks_pool][:wildcard_channel][@origin] = @error_callback if app.env[:error_callbacks_pool][:wildcard_channel][@origin].nil?
389
-
390
- @channel.each do |channel|
391
- app.env[:callbacks_pool][:channel][@origin][channel] = Hash.new
392
- app.env[:callbacks_pool][:channel][@origin][channel][:callback] = @callback unless app.env[:callbacks_pool][:channel][@origin][:callback]
393
- end
394
-
395
- @channel_group.each do |channel_group|
396
- app.env[:callbacks_pool][:channel_group][@origin][channel_group] = Hash.new
397
- app.env[:callbacks_pool][:channel_group][@origin][channel_group][:callback] = @callback unless app.env[:callbacks_pool][:channel_group][@origin][:callback]
398
- end
399
-
400
- @wildcard_channel.each do |wildcard_channel|
401
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel] = Hash.new
402
-
403
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:callback] = @callback unless app.env[:callbacks_pool][:wildcard_channel][@origin][:callback]
404
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:presence_callback] = @presence_callback unless app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:presence_callback]
405
- end
406
-
407
- else
408
- @channel.each do |channel|
409
- app.env[:callbacks_pool][:channel][@origin][channel] = Hash.new
410
-
411
- app.env[:callbacks_pool][:channel][@origin][channel][:callback] = @callback unless app.env[:callbacks_pool][:channel][@origin][:callback]
412
- app.env[:callbacks_pool][:channel][@origin][channel][:error_callback] = @error_callback unless app.env[:callbacks_pool][:channel][@origin][:error_callback]
413
- end
414
-
415
- @channel_group.each do |channel_group|
416
- app.env[:callbacks_pool][:channel_group][@origin][channel_group] = Hash.new
417
-
418
- app.env[:callbacks_pool][:channel_group][@origin][channel_group][:callback] = @callback unless app.env[:callbacks_pool][:channel_group][@origin][:callback]
419
- app.env[:callbacks_pool][:channel_group][@origin][channel_group][:error_callback] = @error_callback unless app.env[:callbacks_pool][:channel_group][@origin][:error_callback]
420
- end
421
-
422
- @wildcard_channel.each do |wildcard_channel|
423
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel] = Hash.new
424
-
425
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:callback] = @callback unless app.env[:callbacks_pool][:wildcard_channel][@origin][:callback]
426
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:error_callback] = @error_callback unless app.env[:callbacks_pool][:wildcard_channel][@origin][:error_callback]
427
- app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:presence_callback] = @presence_callback unless app.env[:callbacks_pool][:wildcard_channel][@origin][wildcard_channel][:presence_callback]
428
- end
429
- end
430
-
431
- app.start_subscribe
432
-
433
- end
434
- rescue => error
435
- Pubnub.logger.error(:pubnub){error}
436
- end
144
+ def connection
145
+ @app.connection_for(self)
437
146
  end
438
147
 
439
- def set_timetoken(timetoken)
440
- @timetoken = timetoken
441
- end
148
+ def create_variables_from_options(options)
149
+ variables = %w(channel channels message http_sync callback
150
+ connect_callback ssl cipher_key secret_key auth_key
151
+ publish_key subscribe_key timetoken error_callback
152
+ open_timeout read_timeout idle_timeout heartbeat
153
+ group action read write manage ttl presence start
154
+ end count reverse presence_callback store skip_validate
155
+ state channel_group compressed)
442
156
 
443
- def add_channel_group(cg, app)
444
- @channel_group << cg
445
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#add_channel_group | Added channel'}
446
- end
157
+ # options = options.reduce({}) { |memo, (k, v)| memo[k.to_sym] = v; memo }
158
+ options = options.each_with_object({}) { |option, obj| obj[option.first.to_sym] = option.last }
447
159
 
448
- def add_channel(channel, app)
449
- @channel = @channel + format_channels(channel)
450
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#add_channel | Added channel'}
451
- end
160
+ variables.each { |variable| instance_variable_set('@' + variable, options[variable.to_sym]) unless variable.nil? }
452
161
 
453
- def add_wildcard_channel(wc, app)
454
- @wildcard_channel << wc
455
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#add_wildcard_channel | Added channel'}
456
- end
162
+ return if @event != :subscribe && @event != :presence
457
163
 
458
- def remove_channel(channel, app)
459
- @channel = @channel - format_channels(channel)
460
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#remove_channel | Removed channel'}
461
- begin
462
- shutdown_subscribe(app) if @channel.empty? && @channel_group.empty? && @wildcard_channel.empty?
463
- rescue => e
464
- Pubnub.logger.error(:pubnub){e.message}
465
- Pubnub.logger.error(:pubnub){e.backtrace}
466
- end
164
+ @open_timeout = options[:s_open_timeout]
165
+ @read_timeout = options[:s_read_timeout]
166
+ @idle_timeout = options[:s_idle_timeout]
467
167
  end
468
168
 
469
- def remove_channel_group(channel_group, app)
470
- @channel_group = @channel_group - format_channel_group(channel_group, false)
471
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#remove_channel_group | Removed channel'}
472
- begin
473
- shutdown_subscribe(app) if @channel.empty? && @channel_group.empty? && @wildcard_channel.empty?
474
- rescue => e
475
- Pubnub.logger.error(:pubnub){e.message}
476
- Pubnub.logger.error(:pubnub){e.backtrace}
477
- end
478
- end
169
+ def format_group
170
+ @group = @channel_group if @channel_group && @group.blank?
171
+ @group = Formatter.format_group(@group)
479
172
 
480
- def remove_wildcard_channel(wc, app)
481
- @wildcard_channel -= [wc]
482
- Pubnub.logger.debug(:pubnub){'SubscribeEvent#remove_wildcard_channel | Removed channel'}
483
- begin
484
- shutdown_subscribe(app) if @channel.empty? && @channel_group.empty? && @wildcard_channel.empty?
485
- rescue => e
486
- Pubnub.logger.error(:pubnub){e.message}
487
- Pubnub.logger.error(:pubnub){e.backtrace}
173
+ if @group.first.to_s.count(':') > 0
174
+ @namespace_id, @group_id = @group.first.to_s.split(':')
175
+ else
176
+ @namespace_id = nil
177
+ @group_id = @group.first.to_s
488
178
  end
489
179
  end
490
180
 
491
- def get_channels
492
- @channel
181
+ def set_timestamp
182
+ @timestamp = current_time
493
183
  end
494
184
 
495
- def get_channel_groups
496
- @channel_group
497
- end
498
-
499
- def get_wildcard_channels
500
- @wildcard_channel
501
- end
502
-
503
- private
504
-
505
- def parameters(app)
506
- parameters = super(app)
507
- parameters.merge!({:heartbeat => app.env[:heartbeat]}) if app.env[:heartbeat]
508
- parameters.merge!({'channel-group' => format_channel_group(@channel_group, true).join(',')}) unless @channel_group.blank?
509
- parameters.merge!({:state => encode_state(app.env[:state][@origin])}) if app.env[:state] && app.env[:state][@origin]
510
- parameters
185
+ def current_time
186
+ ::Time.now.to_i
511
187
  end
512
188
 
513
189
  def encode_state(state)
514
190
  URI.encode_www_form_component(state.to_json).gsub('+', '%20')
515
191
  end
516
-
517
- def update_app_timetoken(envelopes, app)
518
- Pubnub.logger.debug(:pubnub){'Event#update_app_timetoken'}
519
- envelopes.each do |envelope|
520
- if envelope.timetoken_update || envelope.timetoken.to_i > app.env[:timetoken].to_i
521
- update_timetoken(app, envelope.timetoken)
522
- end
523
- end
524
- app.env[:wait_for_response][@origin] = false unless @http_sync
525
- end
526
-
527
- def shutdown_subscribe(app)
528
- app.env[:subscriptions][@origin] = nil
529
- app.env[:subscriptions].delete(@origin)
530
- app.env[:callbacks_pool][@origin] = nil
531
- app.env[:callbacks_pool].delete(@origin)
532
- app.subscribe_event_connections_pool[@origin].shutdown_in_all_threads
533
- app.subscribe_event_connections_pool[@origin] = nil
534
- app.subscribe_event_connections_pool.delete(@origin)
535
- end
536
-
537
- def fire_callbacks(envelopes, app)
538
- if @http_sync
539
- super
540
- else
541
- begin
542
- Pubnub.logger.debug(:pubnub){'Event#fire_callbacks async'}
543
- envelopes.each do |envelope|
544
- if group_envelope?(envelope, app) # WITH GROUP
545
- secure_call(
546
- app.env[:callbacks_pool][:channel_group][@origin][envelope.channel_group][:callback],
547
- envelope
548
- ) if !envelope.error && !envelope.timetoken_update
549
- elsif channel_envelope?(envelope, app) # CHANNEL SUBSCRIBE
550
- secure_call(
551
- app.env[:callbacks_pool][:channel][@origin][encode_channel(envelope.channel)][:callback],
552
- envelope
553
- ) if !envelope.error && !envelope.timetoken_update
554
- elsif wc_pnpres_envelope(envelope, app) # wildcard pnpres
555
- secure_call(
556
- app.env[:callbacks_pool][:wildcard_channel][@origin][encode_channel(envelope.wildcard_channel)][:presence_callback],
557
- envelope
558
- ) if !envelope.error && !envelope.timetoken_update
559
- elsif wc_envelope?(envelope, app) # wildcard
560
- secure_call(
561
- app.env[:callbacks_pool][:wildcard_channel][@origin][encode_channel(envelope.wildcard_channel)][:callback],
562
- envelope
563
- ) if !envelope.error && !envelope.timetoken_update
564
- end
565
- end
566
- Pubnub.logger.debug(:pubnub){'We can send next request now'}
567
- secure_call(
568
- app.env[:error_callbacks_pool][:channel][@origin],
569
- envelopes.first
570
- ) if envelopes.first.error && !envelopes.first.channel_group
571
-
572
- secure_call(
573
- app.env[:error_callbacks_pool][:channel_group][@origin],
574
- envelopes.first
575
- ) if envelopes.first.error && envelopes.first.channel_group
576
-
577
- rescue => error
578
- Pubnub.logger.error(:pubnub){error}
579
- Pubnub.logger.error(:pubnub){error.backtrace}
580
- end
581
- end unless envelopes.nil?
582
-
583
- end
584
-
585
- def group_envelope?(envelope, app)
586
- envelope.channel_group && app.env[:callbacks_pool][:channel_group][@origin][envelope.channel_group]
587
- rescue
588
- false
589
- end
590
-
591
- def channel_envelope?(envelope, app)
592
- app.env[:callbacks_pool][:channel][@origin][encode_channel(envelope.channel)]
593
- rescue
594
- false
595
- end
596
-
597
- def wc_pnpres_envelope(envelope, app)
598
- app.env[:callbacks_pool][:wildcard_channel][@origin][envelope.wildcard_channel][:presence_callback] && (envelope.channel.index('-pnpres') || envelope.wildcard_channel.index('-pnpres'))
599
- rescue
600
- false
601
- end
602
-
603
- def wc_envelope?(envelope, app)
604
- app.env[:callbacks_pool][:wildcard_channel][@origin][envelope.wildcard_channel][:callback]
605
- rescue
606
- false
607
- end
608
-
609
- def setup_connection(app)
610
- app.subscribe_event_connections_pool[@origin] = new_connection(app)
611
- end
612
-
613
- def connection_exist?(app)
614
- !app.subscribe_event_connections_pool[@origin].nil? && !app.subscribe_event_connections_pool[@origin].nil?
615
- end
616
-
617
- def get_connection(app)
618
- app.subscribe_event_connections_pool[@origin]
619
- end
620
-
621
- def path(app)
622
- path = "/subscribe/#{@subscribe_key}/#{channels_for_url(@channel + @wildcard_channel)}/0/#{@timetoken}".gsub(/\?/,'%3F')
623
- end
624
-
625
- def timetoken(parsed_response)
626
- parsed_response[1] if parsed_response.is_a? Array
627
- end
628
-
629
- def message(parsed_response, i, channel, app)
630
- if app.env[:cipher_key].blank? || channel.index('-pnpres')
631
- parsed_response.first[i]
632
- else
633
- pc = Crypto.new(app.env[:cipher_key])
634
- pc.decrypt(parsed_response.first[i])
635
- end
636
- end
637
-
638
- def format_envelopes(response, app, error)
639
-
640
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes'}
641
-
642
- parsed_response = Parser.parse_json(response.body) if Parser.valid_json?(response.body)
643
-
644
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Response parsed'}
645
-
646
- envelopes = Array.new
647
- if error
648
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Error'}
649
- envelopes << Envelope.new(
650
- {
651
- :channel => @channel,
652
- :parsed_response => parsed_response,
653
- :timetoken => timetoken(parsed_response)
654
- },
655
- app
656
- )
657
- elsif parsed_response[0].empty?
658
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Timetoken'}
659
- envelopes << Envelope.new(
660
- {
661
- :channel => @channel.first,
662
- :response_message => parsed_response,
663
- :parsed_response => parsed_response,
664
- :timetoken => timetoken(parsed_response),
665
- :timetoken_update => true
666
- },
667
- app
668
- )
669
- elsif parsed_response.length < 4
670
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Not timetoken update'}
671
-
672
- if parsed_response[2]
673
- channels = parsed_response[2].split(',')
674
- else
675
- channels = @channel
676
- end
677
-
678
- parsed_response[0].size.times do |i|
679
- if channels.size <= 1
680
- channel = channels.first
681
- else
682
- channel = channels[i]
683
- end
684
- Pubnub.logger.debug(:pubnub){"Subscribe#format_envelopes | Channel #{channel} created"}
685
-
686
- Pubnub.logger.debug(:pubnub){"#{parsed_response}"}
687
-
688
- envelopes << Envelope.new(
689
- {
690
- :message => message(parsed_response, i, channel, app),
691
- :channel => channel,
692
- :response_message => parsed_response,
693
- :parsed_response => parsed_response,
694
- :timetoken => timetoken(parsed_response)
695
- },
696
- app
697
- )
698
-
699
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Envelopes created'}
700
-
701
- end
702
- else
703
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Not timetoken update'}
704
-
705
- parsed_response[0].size.times do |i|
706
- channel = parsed_response[3].split(',')[i]
707
- channel_group = parsed_response[2].split(',')[i]
708
-
709
- if channel_group.index('.*')
710
- wildcard_channel = channel_group
711
- channel_group = nil
712
- end
713
-
714
- Pubnub.logger.debug(:pubnub){"#{parsed_response}"}
715
-
716
- envelopes << Envelope.new(
717
- {
718
- :message => message(parsed_response, i, channel, app),
719
- :channel => channel,
720
- :channel_group => channel_group,
721
- :wildcard_channel => wildcard_channel,
722
- :response_message => parsed_response,
723
- :parsed_response => parsed_response,
724
- :timetoken => timetoken(parsed_response)
725
- },
726
- app
727
- )
728
-
729
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | Envelopes created'}
730
-
731
- end
732
- end
733
-
734
- Pubnub.logger.debug(:pubnub){'Subscribe#format_envelopes | envelopes created'}
735
-
736
- envelopes = add_common_data_to_envelopes(envelopes, response, app, error)
737
-
738
- envelopes
739
-
740
- end
741
-
742
- def new_connection(app)
743
- unless app.disabled_persistent_connection?
744
- connection = Net::HTTP::Persistent.new "pubnub_ruby_client_v#{Pubnub::VERSION}"
745
- connection.idle_timeout = app.env[:subscribe_timeout]
746
- connection.read_timeout = app.env[:subscribe_timeout]
747
- connection.proxy_from_env
748
- connection
749
- end
750
- end
751
192
  end
752
193
  end