pubnub 4.2.4 → 4.4.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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.pubnub.yml +160 -118
  4. data/.travis.yml +9 -20
  5. data/CHANGELOG.md +29 -5
  6. data/Gemfile.lock +62 -68
  7. data/README.md +1 -1
  8. data/VERSION +1 -1
  9. data/fixtures/vcr_cassettes/examples/grant/1913.yml +1 -1
  10. data/fixtures/vcr_cassettes/examples/grant/1944.yml +8 -9
  11. data/fixtures/vcr_cassettes/examples/grant/1945.yml +359 -9
  12. data/fixtures/vcr_cassettes/examples/history/100.yml +46 -0
  13. data/fixtures/vcr_cassettes/examples/history/include_meta__encrypted.yml +46 -0
  14. data/fixtures/vcr_cassettes/examples/history/include_token__encrypted.yml +45 -0
  15. data/fixtures/vcr_cassettes/examples/history/no_includes__encrypted.yml +45 -0
  16. data/fixtures/vcr_cassettes/examples/subscribe/0.yml +2 -2
  17. data/fixtures/vcr_cassettes/examples/subscribe/1.yml +2 -2
  18. data/fixtures/vcr_cassettes/examples/subscribe/10.yml +2 -2
  19. data/fixtures/vcr_cassettes/examples/subscribe/100.yml +2 -2
  20. data/fixtures/vcr_cassettes/examples/subscribe/101.yml +2 -2
  21. data/fixtures/vcr_cassettes/examples/subscribe/102.yml +2 -2
  22. data/fixtures/vcr_cassettes/examples/subscribe/103.yml +2 -2
  23. data/fixtures/vcr_cassettes/examples/subscribe/104.yml +2 -2
  24. data/fixtures/vcr_cassettes/examples/subscribe/105.yml +2 -2
  25. data/fixtures/vcr_cassettes/examples/subscribe/106.yml +2 -2
  26. data/fixtures/vcr_cassettes/examples/subscribe/107.yml +2 -2
  27. data/fixtures/vcr_cassettes/examples/subscribe/11.yml +2 -2
  28. data/fixtures/vcr_cassettes/examples/subscribe/12.yml +2 -2
  29. data/fixtures/vcr_cassettes/examples/subscribe/13.yml +2 -2
  30. data/fixtures/vcr_cassettes/examples/subscribe/14.yml +2 -2
  31. data/fixtures/vcr_cassettes/examples/subscribe/15.yml +2 -2
  32. data/fixtures/vcr_cassettes/examples/subscribe/16.yml +2 -2
  33. data/fixtures/vcr_cassettes/examples/subscribe/17.yml +2 -2
  34. data/fixtures/vcr_cassettes/examples/subscribe/18.yml +2 -2
  35. data/fixtures/vcr_cassettes/examples/subscribe/180.yml +2 -2
  36. data/fixtures/vcr_cassettes/examples/subscribe/181.yml +2 -2
  37. data/fixtures/vcr_cassettes/examples/subscribe/182.yml +2 -2
  38. data/fixtures/vcr_cassettes/examples/subscribe/183.yml +2 -2
  39. data/fixtures/vcr_cassettes/examples/subscribe/184.yml +2 -2
  40. data/fixtures/vcr_cassettes/examples/subscribe/185.yml +2 -2
  41. data/fixtures/vcr_cassettes/examples/subscribe/186.yml +2 -2
  42. data/fixtures/vcr_cassettes/examples/subscribe/187.yml +2 -2
  43. data/fixtures/vcr_cassettes/examples/subscribe/188.yml +2 -2
  44. data/fixtures/vcr_cassettes/examples/subscribe/189.yml +2 -2
  45. data/fixtures/vcr_cassettes/examples/subscribe/19.yml +2 -2
  46. data/fixtures/vcr_cassettes/examples/subscribe/190.yml +2 -2
  47. data/fixtures/vcr_cassettes/examples/subscribe/191.yml +2 -2
  48. data/fixtures/vcr_cassettes/examples/subscribe/192.yml +2 -2
  49. data/fixtures/vcr_cassettes/examples/subscribe/193.yml +2 -2
  50. data/fixtures/vcr_cassettes/examples/subscribe/194.yml +2 -2
  51. data/fixtures/vcr_cassettes/examples/subscribe/195.yml +2 -2
  52. data/fixtures/vcr_cassettes/examples/subscribe/196.yml +2 -2
  53. data/fixtures/vcr_cassettes/examples/subscribe/197.yml +2 -2
  54. data/fixtures/vcr_cassettes/examples/subscribe/2.yml +2 -2
  55. data/fixtures/vcr_cassettes/examples/subscribe/20.yml +2 -2
  56. data/fixtures/vcr_cassettes/examples/subscribe/21.yml +2 -2
  57. data/fixtures/vcr_cassettes/examples/subscribe/22.yml +2 -2
  58. data/fixtures/vcr_cassettes/examples/subscribe/23.yml +2 -2
  59. data/fixtures/vcr_cassettes/examples/subscribe/24.yml +2 -2
  60. data/fixtures/vcr_cassettes/examples/subscribe/25.yml +2 -2
  61. data/fixtures/vcr_cassettes/examples/subscribe/26.yml +2 -2
  62. data/fixtures/vcr_cassettes/examples/subscribe/27.yml +2 -2
  63. data/fixtures/vcr_cassettes/examples/subscribe/270.yml +2 -2
  64. data/fixtures/vcr_cassettes/examples/subscribe/271.yml +2 -2
  65. data/fixtures/vcr_cassettes/examples/subscribe/272.yml +2 -2
  66. data/fixtures/vcr_cassettes/examples/subscribe/273.yml +2 -2
  67. data/fixtures/vcr_cassettes/examples/subscribe/274.yml +2 -2
  68. data/fixtures/vcr_cassettes/examples/subscribe/275.yml +2 -2
  69. data/fixtures/vcr_cassettes/examples/subscribe/276.yml +2 -2
  70. data/fixtures/vcr_cassettes/examples/subscribe/277.yml +2 -2
  71. data/fixtures/vcr_cassettes/examples/subscribe/278.yml +2 -2
  72. data/fixtures/vcr_cassettes/examples/subscribe/279.yml +2 -2
  73. data/fixtures/vcr_cassettes/examples/subscribe/28.yml +2 -2
  74. data/fixtures/vcr_cassettes/examples/subscribe/280.yml +2 -2
  75. data/fixtures/vcr_cassettes/examples/subscribe/281.yml +2 -2
  76. data/fixtures/vcr_cassettes/examples/subscribe/282.yml +2 -2
  77. data/fixtures/vcr_cassettes/examples/subscribe/283.yml +2 -2
  78. data/fixtures/vcr_cassettes/examples/subscribe/284.yml +2 -2
  79. data/fixtures/vcr_cassettes/examples/subscribe/285.yml +2 -2
  80. data/fixtures/vcr_cassettes/examples/subscribe/286.yml +2 -2
  81. data/fixtures/vcr_cassettes/examples/subscribe/287.yml +2 -2
  82. data/fixtures/vcr_cassettes/examples/subscribe/29.yml +2 -2
  83. data/fixtures/vcr_cassettes/examples/subscribe/3.yml +2 -2
  84. data/fixtures/vcr_cassettes/examples/subscribe/30.yml +2 -2
  85. data/fixtures/vcr_cassettes/examples/subscribe/31.yml +2 -2
  86. data/fixtures/vcr_cassettes/examples/subscribe/32.yml +2 -2
  87. data/fixtures/vcr_cassettes/examples/subscribe/33.yml +2 -2
  88. data/fixtures/vcr_cassettes/examples/subscribe/34.yml +2 -2
  89. data/fixtures/vcr_cassettes/examples/subscribe/35.yml +2 -2
  90. data/fixtures/vcr_cassettes/examples/subscribe/36.yml +2 -2
  91. data/fixtures/vcr_cassettes/examples/subscribe/360.yml +2 -2
  92. data/fixtures/vcr_cassettes/examples/subscribe/361.yml +2 -2
  93. data/fixtures/vcr_cassettes/examples/subscribe/362.yml +2 -2
  94. data/fixtures/vcr_cassettes/examples/subscribe/363.yml +2 -2
  95. data/fixtures/vcr_cassettes/examples/subscribe/364.yml +2 -2
  96. data/fixtures/vcr_cassettes/examples/subscribe/365.yml +2 -2
  97. data/fixtures/vcr_cassettes/examples/subscribe/366.yml +2 -2
  98. data/fixtures/vcr_cassettes/examples/subscribe/367.yml +2 -2
  99. data/fixtures/vcr_cassettes/examples/subscribe/368.yml +2 -2
  100. data/fixtures/vcr_cassettes/examples/subscribe/369.yml +2 -2
  101. data/fixtures/vcr_cassettes/examples/subscribe/37.yml +2 -2
  102. data/fixtures/vcr_cassettes/examples/subscribe/370.yml +2 -2
  103. data/fixtures/vcr_cassettes/examples/subscribe/371.yml +2 -2
  104. data/fixtures/vcr_cassettes/examples/subscribe/372.yml +2 -2
  105. data/fixtures/vcr_cassettes/examples/subscribe/373.yml +2 -2
  106. data/fixtures/vcr_cassettes/examples/subscribe/374.yml +2 -2
  107. data/fixtures/vcr_cassettes/examples/subscribe/375.yml +2 -2
  108. data/fixtures/vcr_cassettes/examples/subscribe/376.yml +2 -2
  109. data/fixtures/vcr_cassettes/examples/subscribe/377.yml +2 -2
  110. data/fixtures/vcr_cassettes/examples/subscribe/38.yml +2 -2
  111. data/fixtures/vcr_cassettes/examples/subscribe/39.yml +2 -2
  112. data/fixtures/vcr_cassettes/examples/subscribe/4.yml +2 -2
  113. data/fixtures/vcr_cassettes/examples/subscribe/40.yml +2 -2
  114. data/fixtures/vcr_cassettes/examples/subscribe/41.yml +2 -2
  115. data/fixtures/vcr_cassettes/examples/subscribe/42.yml +2 -2
  116. data/fixtures/vcr_cassettes/examples/subscribe/43.yml +2 -2
  117. data/fixtures/vcr_cassettes/examples/subscribe/44.yml +2 -2
  118. data/fixtures/vcr_cassettes/examples/subscribe/45.yml +2 -2
  119. data/fixtures/vcr_cassettes/examples/subscribe/46.yml +2 -2
  120. data/fixtures/vcr_cassettes/examples/subscribe/47.yml +2 -2
  121. data/fixtures/vcr_cassettes/examples/subscribe/48.yml +2 -2
  122. data/fixtures/vcr_cassettes/examples/subscribe/49.yml +2 -2
  123. data/fixtures/vcr_cassettes/examples/subscribe/5.yml +2 -2
  124. data/fixtures/vcr_cassettes/examples/subscribe/50.yml +2 -2
  125. data/fixtures/vcr_cassettes/examples/subscribe/51.yml +2 -2
  126. data/fixtures/vcr_cassettes/examples/subscribe/52.yml +2 -2
  127. data/fixtures/vcr_cassettes/examples/subscribe/53.yml +2 -2
  128. data/fixtures/vcr_cassettes/examples/subscribe/54.yml +2 -2
  129. data/fixtures/vcr_cassettes/examples/subscribe/55.yml +2 -2
  130. data/fixtures/vcr_cassettes/examples/subscribe/56.yml +2 -2
  131. data/fixtures/vcr_cassettes/examples/subscribe/57.yml +2 -2
  132. data/fixtures/vcr_cassettes/examples/subscribe/58.yml +2 -2
  133. data/fixtures/vcr_cassettes/examples/subscribe/59.yml +2 -2
  134. data/fixtures/vcr_cassettes/examples/subscribe/6.yml +2 -2
  135. data/fixtures/vcr_cassettes/examples/subscribe/60.yml +2 -2
  136. data/fixtures/vcr_cassettes/examples/subscribe/61.yml +2 -2
  137. data/fixtures/vcr_cassettes/examples/subscribe/62.yml +2 -2
  138. data/fixtures/vcr_cassettes/examples/subscribe/63.yml +2 -2
  139. data/fixtures/vcr_cassettes/examples/subscribe/64.yml +2 -2
  140. data/fixtures/vcr_cassettes/examples/subscribe/65.yml +2 -2
  141. data/fixtures/vcr_cassettes/examples/subscribe/66.yml +2 -2
  142. data/fixtures/vcr_cassettes/examples/subscribe/67.yml +2 -2
  143. data/fixtures/vcr_cassettes/examples/subscribe/68.yml +2 -2
  144. data/fixtures/vcr_cassettes/examples/subscribe/69.yml +2 -2
  145. data/fixtures/vcr_cassettes/examples/subscribe/7.yml +2 -2
  146. data/fixtures/vcr_cassettes/examples/subscribe/70.yml +2 -2
  147. data/fixtures/vcr_cassettes/examples/subscribe/71.yml +2 -2
  148. data/fixtures/vcr_cassettes/examples/subscribe/72.yml +2 -2
  149. data/fixtures/vcr_cassettes/examples/subscribe/73.yml +2 -2
  150. data/fixtures/vcr_cassettes/examples/subscribe/74.yml +2 -2
  151. data/fixtures/vcr_cassettes/examples/subscribe/75.yml +2 -2
  152. data/fixtures/vcr_cassettes/examples/subscribe/76.yml +2 -2
  153. data/fixtures/vcr_cassettes/examples/subscribe/77.yml +2 -2
  154. data/fixtures/vcr_cassettes/examples/subscribe/78.yml +2 -2
  155. data/fixtures/vcr_cassettes/examples/subscribe/79.yml +2 -2
  156. data/fixtures/vcr_cassettes/examples/subscribe/8.yml +2 -2
  157. data/fixtures/vcr_cassettes/examples/subscribe/80.yml +2 -2
  158. data/fixtures/vcr_cassettes/examples/subscribe/81.yml +2 -2
  159. data/fixtures/vcr_cassettes/examples/subscribe/82.yml +2 -2
  160. data/fixtures/vcr_cassettes/examples/subscribe/83.yml +2 -2
  161. data/fixtures/vcr_cassettes/examples/subscribe/84.yml +2 -2
  162. data/fixtures/vcr_cassettes/examples/subscribe/85.yml +2 -2
  163. data/fixtures/vcr_cassettes/examples/subscribe/86.yml +2 -2
  164. data/fixtures/vcr_cassettes/examples/subscribe/87.yml +2 -2
  165. data/fixtures/vcr_cassettes/examples/subscribe/88.yml +2 -2
  166. data/fixtures/vcr_cassettes/examples/subscribe/89.yml +2 -2
  167. data/fixtures/vcr_cassettes/examples/subscribe/9.yml +2 -2
  168. data/fixtures/vcr_cassettes/examples/subscribe/90.yml +2 -2
  169. data/fixtures/vcr_cassettes/examples/subscribe/91.yml +2 -2
  170. data/fixtures/vcr_cassettes/examples/subscribe/92.yml +2 -2
  171. data/fixtures/vcr_cassettes/examples/subscribe/93.yml +2 -2
  172. data/fixtures/vcr_cassettes/examples/subscribe/94.yml +2 -2
  173. data/fixtures/vcr_cassettes/examples/subscribe/95.yml +2 -2
  174. data/fixtures/vcr_cassettes/examples/subscribe/96.yml +2 -2
  175. data/fixtures/vcr_cassettes/examples/subscribe/97.yml +2 -2
  176. data/fixtures/vcr_cassettes/examples/subscribe/98.yml +2 -2
  177. data/fixtures/vcr_cassettes/examples/subscribe/99.yml +2 -2
  178. data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +39 -0
  179. data/fixtures/vcr_cassettes/lib/events/get_all_uuid_metadata.yml +76 -0
  180. data/fixtures/vcr_cassettes/lib/events/{get_space_memberships.yml → get_channel_members.yml} +5 -6
  181. data/fixtures/vcr_cassettes/lib/events/get_channel_metadata.yml +37 -0
  182. data/fixtures/vcr_cassettes/lib/events/{get_members.yml → get_memberships.yml} +10 -11
  183. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata.yml +76 -0
  184. data/fixtures/vcr_cassettes/lib/events/grant-error.yml +2 -2
  185. data/fixtures/vcr_cassettes/lib/events/grant.yml +10 -11
  186. data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +78 -0
  187. data/fixtures/vcr_cassettes/lib/events/{delete_space.yml → remove_channel_metadata.yml} +5 -6
  188. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_remove.yml → remove_memberships.yml} +8 -9
  189. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata.yml +76 -0
  190. data/fixtures/vcr_cassettes/lib/events/set_channel_members.yml +39 -0
  191. data/fixtures/vcr_cassettes/lib/events/set_channel_metadata.yml +39 -0
  192. data/fixtures/vcr_cassettes/lib/events/{manage_members_add.yml → set_memberships.yml} +8 -9
  193. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata.yml +78 -0
  194. data/fixtures/vcr_cassettes/lib/events/{subscribe-space-delete-async.yml → subscribe-channel-metadata-remove-sync.yml} +12 -14
  195. data/fixtures/vcr_cassettes/lib/events/subscribe-channel-metadata-set-async.yml +75 -0
  196. data/fixtures/vcr_cassettes/lib/events/{subscribe-member-remove-async.yml → subscribe-member-remove-sync.yml} +12 -14
  197. data/fixtures/vcr_cassettes/lib/events/subscribe-member-set-async.yml +75 -0
  198. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-remove-async.yml +12 -14
  199. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-update-async.yml → subscribe-membership-set-async.yml} +12 -14
  200. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-delete-async.yml → subscribe-uuid-metadata-remove-sync.yml} +12 -14
  201. data/fixtures/vcr_cassettes/lib/events/subscribe-uuid-metadata-set-async.yml +75 -0
  202. data/fixtures/vcr_cassettes/lib/events/subscribe-with-presence.yml +2 -2
  203. data/lib/pubnub/client.rb +14 -14
  204. data/lib/pubnub/client/events.rb +4 -2
  205. data/lib/pubnub/client/paged_history.rb +1 -1
  206. data/lib/pubnub/constants.rb +19 -18
  207. data/lib/pubnub/event.rb +30 -16
  208. data/lib/pubnub/event/formatter.rb +4 -0
  209. data/lib/pubnub/event/signature.rb +22 -7
  210. data/lib/pubnub/events/get_all_channels_metadata.rb +92 -0
  211. data/lib/pubnub/events/get_all_uuid_metadata.rb +92 -0
  212. data/lib/pubnub/events/get_channel_members.rb +100 -0
  213. data/lib/pubnub/events/{get_user.rb → get_channel_metadata.rb} +22 -15
  214. data/lib/pubnub/events/get_memberships.rb +100 -0
  215. data/lib/pubnub/events/{get_space.rb → get_uuid_metadata.rb} +22 -15
  216. data/lib/pubnub/events/grant.rb +10 -1
  217. data/lib/pubnub/events/history.rb +17 -2
  218. data/lib/pubnub/events/remove_channel_members.rb +117 -0
  219. data/lib/pubnub/events/{delete_space.rb → remove_channel_metadata.rb} +12 -12
  220. data/lib/pubnub/events/remove_memberships.rb +117 -0
  221. data/lib/pubnub/events/{delete_user.rb → remove_uuid_metadata.rb} +12 -12
  222. data/lib/pubnub/events/set_channel_members.rb +120 -0
  223. data/lib/pubnub/events/{create_space.rb → set_channel_metadata.rb} +26 -16
  224. data/lib/pubnub/events/set_memberships.rb +120 -0
  225. data/lib/pubnub/events/{update_space.rb → set_uuid_metadata.rb} +27 -18
  226. data/lib/pubnub/formatter.rb +3 -3
  227. data/lib/pubnub/pam.rb +2 -11
  228. data/lib/pubnub/subscribe_callback.rb +1 -3
  229. data/lib/pubnub/subscribe_event/formatter.rb +26 -17
  230. data/lib/pubnub/subscriber.rb +5 -6
  231. data/lib/pubnub/validators/get_all_channels_metadata.rb +29 -0
  232. data/lib/pubnub/validators/get_all_uuid_metadata.rb +29 -0
  233. data/lib/pubnub/validators/get_channel_members.rb +39 -0
  234. data/lib/pubnub/validators/get_channel_metadata.rb +39 -0
  235. data/lib/pubnub/validators/get_memberships.rb +39 -0
  236. data/lib/pubnub/validators/get_uuid_metadata.rb +39 -0
  237. data/lib/pubnub/validators/grant.rb +37 -2
  238. data/lib/pubnub/validators/remove_channel_members.rb +52 -0
  239. data/lib/pubnub/validators/remove_channel_metadata.rb +39 -0
  240. data/lib/pubnub/validators/remove_memberships.rb +52 -0
  241. data/lib/pubnub/validators/remove_uuid_metadata.rb +39 -0
  242. data/lib/pubnub/validators/set_channel_members.rb +78 -0
  243. data/lib/pubnub/validators/set_channel_metadata.rb +62 -0
  244. data/lib/pubnub/validators/set_memberships.rb +78 -0
  245. data/lib/pubnub/validators/set_uuid_metadata.rb +62 -0
  246. data/lib/pubnub/version.rb +1 -1
  247. data/pubnub.gemspec +1 -1
  248. data/spec/examples/grant_examples_spec.rb +36 -0
  249. data/spec/examples/history_examples_spec.rb +85 -0
  250. data/spec/lib/event/formatter_spec.rb +22 -0
  251. data/spec/lib/events/channel_metadata_spec.rb +58 -0
  252. data/spec/lib/events/grant_spec.rb +3 -2
  253. data/spec/lib/events/membership_spec.rb +25 -22
  254. data/spec/lib/events/subscribe_spec.rb +58 -45
  255. data/spec/lib/events/uuid_metadata_spec.rb +56 -0
  256. data/spec/lib/subscribe_event/formatter_spec.rb +22 -0
  257. data/spec/spec_helper.rb +1 -1
  258. metadata +79 -72
  259. data/fixtures/vcr_cassettes/lib/events/create_space.yml +0 -40
  260. data/fixtures/vcr_cassettes/lib/events/create_user.yml +0 -40
  261. data/fixtures/vcr_cassettes/lib/events/delete_user.yml +0 -38
  262. data/fixtures/vcr_cassettes/lib/events/get_space.yml +0 -38
  263. data/fixtures/vcr_cassettes/lib/events/get_spaces.yml +0 -40
  264. data/fixtures/vcr_cassettes/lib/events/get_user.yml +0 -38
  265. data/fixtures/vcr_cassettes/lib/events/get_users.yml +0 -40
  266. data/fixtures/vcr_cassettes/lib/events/manage_members_remove.yml +0 -83
  267. data/fixtures/vcr_cassettes/lib/events/manage_memberships_add.yml +0 -40
  268. data/fixtures/vcr_cassettes/lib/events/subscribe-member-add-async.yml +0 -77
  269. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-add-async.yml +0 -77
  270. data/fixtures/vcr_cassettes/lib/events/subscribe-space-update-async.yml +0 -77
  271. data/fixtures/vcr_cassettes/lib/events/update_space.yml +0 -40
  272. data/fixtures/vcr_cassettes/lib/events/update_user.yml +0 -40
  273. data/lib/pubnub/events/create_user.rb +0 -84
  274. data/lib/pubnub/events/get_members.rb +0 -93
  275. data/lib/pubnub/events/get_space_memberships.rb +0 -93
  276. data/lib/pubnub/events/get_spaces.rb +0 -90
  277. data/lib/pubnub/events/get_users.rb +0 -90
  278. data/lib/pubnub/events/manage_members.rb +0 -105
  279. data/lib/pubnub/events/manage_memberships.rb +0 -105
  280. data/lib/pubnub/events/update_user.rb +0 -86
  281. data/lib/pubnub/validators/create_space.rb +0 -44
  282. data/lib/pubnub/validators/create_user.rb +0 -44
  283. data/lib/pubnub/validators/delete_space.rb +0 -32
  284. data/lib/pubnub/validators/delete_user.rb +0 -32
  285. data/lib/pubnub/validators/get_members.rb +0 -32
  286. data/lib/pubnub/validators/get_space.rb +0 -32
  287. data/lib/pubnub/validators/get_space_memberships.rb +0 -32
  288. data/lib/pubnub/validators/get_spaces.rb +0 -16
  289. data/lib/pubnub/validators/get_user.rb +0 -32
  290. data/lib/pubnub/validators/get_users.rb +0 -16
  291. data/lib/pubnub/validators/manage_members.rb +0 -45
  292. data/lib/pubnub/validators/manage_memberships.rb +0 -45
  293. data/lib/pubnub/validators/update_space.rb +0 -45
  294. data/lib/pubnub/validators/update_user.rb +0 -45
  295. data/spec/lib/events/space_spec.rb +0 -75
  296. data/spec/lib/events/user_spec.rb +0 -75
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/user_mg4/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
5
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg1/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: ''
@@ -12,14 +12,14 @@ http_interactions:
12
12
  Accept:
13
13
  - "*/*"
14
14
  Date:
15
- - Fri, 25 Oct 2019 20:28:18 GMT
15
+ - Wed, 14 Oct 2020 22:57:29 GMT
16
16
  response:
17
17
  status:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
21
  Date:
22
- - Fri, 25 Oct 2019 20:28:20 GMT
22
+ - Wed, 14 Oct 2020 22:57:29 GMT
23
23
  Content-Type:
24
24
  - text/javascript; charset="UTF-8"
25
25
  Content-Length:
@@ -34,12 +34,11 @@ http_interactions:
34
34
  - GET
35
35
  body:
36
36
  encoding: UTF-8
37
- string: '{"t":{"t":"15720351664523185","r":12},"m":[]}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 20:28:18 GMT
37
+ string: '{"t":{"t":"16027162473624594","r":12},"m":[]}'
38
+ recorded_at: Wed, 14 Oct 2020 22:57:29 GMT
40
39
  - request:
41
40
  method: get
42
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/user_mg4/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:12,%22t%22:%2215720351664523185%22%7D&uuid=ruby-test-uuid
41
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg1/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:12,%22t%22:%2216027162473624594%22%7D&uuid=ruby-test-uuid
43
42
  body:
44
43
  encoding: UTF-8
45
44
  string: ''
@@ -49,18 +48,18 @@ http_interactions:
49
48
  Accept:
50
49
  - "*/*"
51
50
  Date:
52
- - Fri, 25 Oct 2019 20:28:18 GMT
51
+ - Wed, 14 Oct 2020 22:57:33 GMT
53
52
  response:
54
53
  status:
55
54
  code: 200
56
55
  message: OK
57
56
  headers:
58
57
  Date:
59
- - Fri, 25 Oct 2019 20:28:26 GMT
58
+ - Wed, 14 Oct 2020 22:57:33 GMT
60
59
  Content-Type:
61
60
  - text/javascript; charset="UTF-8"
62
61
  Content-Length:
63
- - '296'
62
+ - '311'
64
63
  Connection:
65
64
  - keep-alive
66
65
  Cache-Control:
@@ -71,7 +70,6 @@ http_interactions:
71
70
  - GET
72
71
  body:
73
72
  encoding: UTF-8
74
- string: '{"t":{"t":"15720353067806096","r":12},"m":[{"a":"3","f":0,"e":2,"p":{"t":"15720353067365917","r":2},"k":"sub-a-mock-key","c":"user_mg4","d":{"source":"objects","version":"1.0","event":"delete","type":"membership","data":{"spaceId":"rb_space_4","userId":"user_mg4"}}}]}'
75
- http_version:
76
- recorded_at: Fri, 25 Oct 2019 20:28:24 GMT
77
- recorded_with: VCR 5.0.0
73
+ string: '{"t":{"t":"16027162515347114","r":12},"m":[{"a":"5","f":0,"e":2,"p":{"t":"16027162515321544","r":12},"k":"sub-a-mock-key","c":"uuid_mg1","d":{"source":"objects","version":"2.0","event":"delete","type":"membership","data":{"channel":{"id":"rb_channel_1"},"uuid":{"id":"uuid_mg1"}}}}]}'
74
+ recorded_at: Wed, 14 Oct 2020 22:57:33 GMT
75
+ recorded_with: VCR 6.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/user_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
5
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg5/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: ''
@@ -12,14 +12,14 @@ http_interactions:
12
12
  Accept:
13
13
  - "*/*"
14
14
  Date:
15
- - Fri, 25 Oct 2019 19:20:08 GMT
15
+ - Wed, 14 Oct 2020 21:08:31 GMT
16
16
  response:
17
17
  status:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
21
  Date:
22
- - Fri, 25 Oct 2019 19:20:10 GMT
22
+ - Wed, 14 Oct 2020 21:08:32 GMT
23
23
  Content-Type:
24
24
  - text/javascript; charset="UTF-8"
25
25
  Content-Length:
@@ -34,12 +34,11 @@ http_interactions:
34
34
  - GET
35
35
  body:
36
36
  encoding: UTF-8
37
- string: '{"t":{"t":"15720307124752724","r":12},"m":[]}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 19:20:08 GMT
37
+ string: '{"t":{"t":"16027097119671567","r":12},"m":[]}'
38
+ recorded_at: Wed, 14 Oct 2020 21:08:32 GMT
40
39
  - request:
41
40
  method: get
42
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/user_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:12,%22t%22:%2215720307124752724%22%7D&uuid=ruby-test-uuid
41
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg5/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:12,%22t%22:%2216027097119671567%22%7D&uuid=ruby-test-uuid
43
42
  body:
44
43
  encoding: UTF-8
45
44
  string: ''
@@ -49,18 +48,18 @@ http_interactions:
49
48
  Accept:
50
49
  - "*/*"
51
50
  Date:
52
- - Fri, 25 Oct 2019 19:20:08 GMT
51
+ - Wed, 14 Oct 2020 21:08:32 GMT
53
52
  response:
54
53
  status:
55
54
  code: 200
56
55
  message: OK
57
56
  headers:
58
57
  Date:
59
- - Fri, 25 Oct 2019 19:20:14 GMT
58
+ - Wed, 14 Oct 2020 21:08:34 GMT
60
59
  Content-Type:
61
60
  - text/javascript; charset="UTF-8"
62
61
  Content-Length:
63
- - '353'
62
+ - '375'
64
63
  Connection:
65
64
  - keep-alive
66
65
  Cache-Control:
@@ -71,7 +70,6 @@ http_interactions:
71
70
  - GET
72
71
  body:
73
72
  encoding: UTF-8
74
- string: '{"t":{"t":"15720312144082905","r":12},"m":[{"a":"3","f":0,"e":2,"p":{"t":"15720312143594394","r":2},"k":"sub-a-mock-key","c":"user_mg3","d":{"source":"objects","version":"1.0","event":"update","type":"user","data":{"eTag":"Ab+suYTYtJ2yjQE","id":"user_mg3","name":"name_1572031211","updated":"2019-10-25T19:20:14.283963Z"}}}]}'
75
- http_version:
76
- recorded_at: Fri, 25 Oct 2019 19:20:11 GMT
77
- recorded_with: VCR 5.0.0
73
+ string: '{"t":{"t":"16027097140960770","r":12},"m":[{"a":"5","f":0,"e":2,"p":{"t":"16027097140953196","r":12},"k":"sub-a-mock-key","c":"uuid_mg5","d":{"source":"objects","version":"2.0","event":"set","type":"membership","data":{"channel":{"id":"rb_channel_5"},"eTag":"AY39mJKK//C0VA","updated":"2020-10-14T21:08:34.090622201Z","uuid":{"id":"uuid_mg5"}}}}]}'
74
+ recorded_at: Wed, 14 Oct 2020 21:08:34 GMT
75
+ recorded_with: VCR 6.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/user_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
5
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: ''
@@ -12,14 +12,14 @@ http_interactions:
12
12
  Accept:
13
13
  - "*/*"
14
14
  Date:
15
- - Fri, 25 Oct 2019 19:23:55 GMT
15
+ - Wed, 14 Oct 2020 22:23:52 GMT
16
16
  response:
17
17
  status:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
21
  Date:
22
- - Fri, 25 Oct 2019 19:23:58 GMT
22
+ - Wed, 14 Oct 2020 22:23:52 GMT
23
23
  Content-Type:
24
24
  - text/javascript; charset="UTF-8"
25
25
  Content-Length:
@@ -34,12 +34,11 @@ http_interactions:
34
34
  - GET
35
35
  body:
36
36
  encoding: UTF-8
37
- string: '{"t":{"t":"15720312144082905","r":12},"m":[]}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 19:23:55 GMT
37
+ string: '{"t":{"t":"16027142324251261","r":12},"m":[]}'
38
+ recorded_at: Wed, 14 Oct 2020 22:23:52 GMT
40
39
  - request:
41
40
  method: get
42
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/user_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:12,%22t%22:%2215720312144082905%22%7D&uuid=ruby-test-uuid
41
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:12,%22t%22:%2216027142324251261%22%7D&uuid=ruby-test-uuid
43
42
  body:
44
43
  encoding: UTF-8
45
44
  string: ''
@@ -49,18 +48,18 @@ http_interactions:
49
48
  Accept:
50
49
  - "*/*"
51
50
  Date:
52
- - Fri, 25 Oct 2019 19:23:55 GMT
51
+ - Wed, 14 Oct 2020 22:23:56 GMT
53
52
  response:
54
53
  status:
55
54
  code: 200
56
55
  message: OK
57
56
  headers:
58
57
  Date:
59
- - Fri, 25 Oct 2019 19:24:07 GMT
58
+ - Wed, 14 Oct 2020 22:23:56 GMT
60
59
  Content-Type:
61
60
  - text/javascript; charset="UTF-8"
62
61
  Content-Length:
63
- - '263'
62
+ - '264'
64
63
  Connection:
65
64
  - keep-alive
66
65
  Cache-Control:
@@ -71,7 +70,6 @@ http_interactions:
71
70
  - GET
72
71
  body:
73
72
  encoding: UTF-8
74
- string: '{"t":{"t":"15720314473053590","r":12},"m":[{"a":"3","f":0,"e":2,"p":{"t":"15720314472596946","r":2},"k":"sub-a-mock-key","c":"user_mg3","d":{"source":"objects","version":"1.0","event":"delete","type":"user","data":{"id":"user_mg3"}}}]}'
75
- http_version:
76
- recorded_at: Fri, 25 Oct 2019 19:24:04 GMT
77
- recorded_with: VCR 5.0.0
73
+ string: '{"t":{"t":"16027142346548263","r":12},"m":[{"a":"5","f":0,"e":2,"p":{"t":"16027142346521934","r":12},"k":"sub-a-mock-key","c":"uuid_mg3","d":{"source":"objects","version":"2.0","event":"delete","type":"uuid","data":{"id":"uuid_mg3"}}}]}'
74
+ recorded_at: Wed, 14 Oct 2020 22:23:56 GMT
75
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
12
+ Accept:
13
+ - "*/*"
14
+ Date:
15
+ - Wed, 14 Oct 2020 20:10:53 GMT
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Wed, 14 Oct 2020 20:10:53 GMT
23
+ Content-Type:
24
+ - text/javascript; charset="UTF-8"
25
+ Content-Length:
26
+ - '45'
27
+ Connection:
28
+ - keep-alive
29
+ Cache-Control:
30
+ - no-cache
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Allow-Methods:
34
+ - GET
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"t":{"t":"16027062536439869","r":12},"m":[]}'
38
+ recorded_at: Wed, 14 Oct 2020 20:10:53 GMT
39
+ - request:
40
+ method: get
41
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/uuid_mg3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&t=%7B%22r%22:12,%22t%22:%2216027062536439869%22%7D&uuid=ruby-test-uuid
42
+ body:
43
+ encoding: UTF-8
44
+ string: ''
45
+ headers:
46
+ User-Agent:
47
+ - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
48
+ Accept:
49
+ - "*/*"
50
+ Date:
51
+ - Wed, 14 Oct 2020 20:10:53 GMT
52
+ response:
53
+ status:
54
+ code: 200
55
+ message: OK
56
+ headers:
57
+ Date:
58
+ - Wed, 14 Oct 2020 20:10:55 GMT
59
+ Content-Type:
60
+ - text/javascript; charset="UTF-8"
61
+ Content-Length:
62
+ - '366'
63
+ Connection:
64
+ - keep-alive
65
+ Cache-Control:
66
+ - no-cache
67
+ Access-Control-Allow-Origin:
68
+ - "*"
69
+ Access-Control-Allow-Methods:
70
+ - GET
71
+ body:
72
+ encoding: UTF-8
73
+ string: '{"t":{"t":"16027062557993707","r":12},"m":[{"a":"5","f":0,"e":2,"p":{"t":"16027062557985952","r":12},"k":"sub-a-mock-key","c":"uuid_mg3","d":{"source":"objects","version":"2.0","event":"set","type":"uuid","data":{"custom":{"XXX":"YYYY"},"eTag":"Ad2eyIWXwJzBqAE","id":"uuid_mg3","name":"magnum","updated":"2020-10-14T20:10:55.763006Z"}}}]}'
74
+ recorded_at: Wed, 14 Oct 2020 20:10:55 GMT
75
+ recorded_with: VCR 6.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/demo,demo-pnpres,demo.*,demo.*-pnpres,demo1,demo1-pnpres/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.0.5&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
5
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/demo,demo1,demo-pnpres,demo1-pnpres,demo.*,demo.*-pnpres/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.0.5&t=%7B%22r%22:0,%22t%22:0%7D&uuid=ruby-test-uuid
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: ''
@@ -39,7 +39,7 @@ http_interactions:
39
39
  recorded_at: Wed, 10 Aug 2016 13:00:57 GMT
40
40
  - request:
41
41
  method: get
42
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/demo,demo-pnpres,demo.*,demo.*-pnpres,demo1,demo1-pnpres/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.0.5&t=%7B%22r%22:2,%22t%22:%2214708340574849564%22%7D&uuid=ruby-test-uuid
42
+ uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/demo,demo1,demo-pnpres,demo1-pnpres,demo.*,demo.*-pnpres/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.0.5&t=%7B%22r%22:2,%22t%22:%2214708340574849564%22%7D&uuid=ruby-test-uuid
43
43
  body:
44
44
  encoding: UTF-8
45
45
  string: ''
@@ -50,20 +50,20 @@ require 'pubnub/validators/delete'
50
50
  require 'pubnub/validators/message_counts'
51
51
  require 'pubnub/validators/push'
52
52
  require 'pubnub/validators/signal'
53
- require 'pubnub/validators/create_user'
54
- require 'pubnub/validators/create_space'
55
- require 'pubnub/validators/delete_user'
56
- require 'pubnub/validators/delete_space'
57
- require 'pubnub/validators/get_user'
58
- require 'pubnub/validators/get_users'
59
- require 'pubnub/validators/get_space'
60
- require 'pubnub/validators/get_spaces'
61
- require 'pubnub/validators/update_user'
62
- require 'pubnub/validators/update_space'
63
- require 'pubnub/validators/get_members'
64
- require 'pubnub/validators/get_space_memberships'
65
- require 'pubnub/validators/manage_members'
66
- require 'pubnub/validators/manage_memberships'
53
+ require 'pubnub/validators/set_uuid_metadata'
54
+ require 'pubnub/validators/set_channel_metadata'
55
+ require 'pubnub/validators/remove_uuid_metadata'
56
+ require 'pubnub/validators/remove_channel_metadata'
57
+ require 'pubnub/validators/get_uuid_metadata'
58
+ require 'pubnub/validators/get_all_uuid_metadata'
59
+ require 'pubnub/validators/get_channel_metadata'
60
+ require 'pubnub/validators/get_all_channels_metadata'
61
+ require 'pubnub/validators/get_channel_members'
62
+ require 'pubnub/validators/get_memberships'
63
+ require 'pubnub/validators/set_channel_members'
64
+ require 'pubnub/validators/set_memberships'
65
+ require 'pubnub/validators/remove_channel_members'
66
+ require 'pubnub/validators/remove_memberships'
67
67
 
68
68
  Dir[File.join(File.dirname(__dir__), 'pubnub', 'events', '*.rb')].each do |file|
69
69
  require file
@@ -7,8 +7,10 @@ module Pubnub
7
7
  EVENTS = %w[publish subscribe presence leave history here_now audit grant delete_messages
8
8
  revoke time heartbeat where_now set_state state channel_registration message_counts signal
9
9
  add_channels_to_push list_push_provisions remove_channels_from_push remove_device_from_push
10
- create_user create_space delete_user delete_space get_user get_users get_space get_spaces
11
- update_user update_space get_members get_space_memberships manage_members manage_memberships].freeze
10
+ set_uuid_metadata set_channel_metadata remove_uuid_metadata remove_channel_metadata
11
+ get_uuid_metadata get_all_uuid_metadata get_channel_metadata get_all_channels_metadata
12
+ get_channel_members get_memberships set_channel_members set_memberships
13
+ remove_memberships remove_channel_members].freeze
12
14
 
13
15
  EVENTS.each do |event_name|
14
16
  define_method event_name do |options = {}, &block|
@@ -12,7 +12,7 @@ module Pubnub
12
12
  sync = options[:http_sync]
13
13
  start_tt = options.fetch(:start)
14
14
  end_tt = options.fetch(:end)
15
- if sync
15
+ if sync
16
16
  sync_paged_history(channel, page, limit, callback, start: start_tt, end: end_tt)
17
17
  else
18
18
  async_paged_history(options)
@@ -66,20 +66,20 @@ module Pubnub
66
66
  OPERATION_REMOVE_CHANNELS_FROM_PUSH = :remove_channels_from_push
67
67
  OPERATION_REMOVE_DEVICE_FROM_PUSH = :remove_device_from_push
68
68
  OPERATION_SIGNAL = :signal
69
- OPERATION_CREATE_USER = :create_user
70
- OPERATION_GET_USER = :get_user
71
- OPERATION_GET_USERS = :get_users
72
- OPERATION_UPDATE_USER = :update_user
73
- OPERATION_DELETE_USER = :delete_user
74
- OPERATION_CREATE_SPACE = :create_space
75
- OPERATION_GET_SPACE = :get_space
76
- OPERATION_GET_SPACES = :get_spaces
77
- OPERATION_UPDATE_SPACE = :update_space
78
- OPERATION_DELETE_SPACE = :delete_space
79
- OPERATION_GET_MEMBERS = :get_members
80
- OPERATION_MANAGE_MEMBERS = :manage_members
81
- OPERATION_GET_SPACE_MEMBERSHIPS = :get_space_memberships
82
- OPERATION_MANAGE_MEMBERSHIPS = :manage_memberships
69
+ OPERATION_SET_UUID_METADATA = :set_uuid_metadata
70
+ OPERATION_GET_UUID_METADATA = :get_uuid_metadata
71
+ OPERATION_GET_ALL_UUID_METADATA = :get_all_uuid_metadata
72
+ OPERATION_REMOVE_UUID_METADATA = :remove_uuid_metadata
73
+ OPERATION_SET_CHANNEL_METADATA = :set_channel_metadata
74
+ OPERATION_GET_CHANNEL_METADATA = :get_channel_metadata
75
+ OPERATION_GET_ALL_CHANNELS_METADATA = :get_all_channels_metadata
76
+ OPERATION_REMOVE_CHANNEL_METADATA = :remove_channel_metadata
77
+ OPERATION_GET_CHANNEL_MEMBERS = :get_channel_members
78
+ OPERATION_SET_CHANNEL_MEMBERS = :set_channel_members
79
+ OPERATION_REMOVE_CHANNEL_MEMBERS = :remove_channel_members
80
+ OPERATION_GET_MEMBERSHIPS = :get_memberships
81
+ OPERATION_SET_MEMBERSHIPS = :set_memberships
82
+ OPERATION_REMOVE_MEMBERSHIPS = :remove_memberships
83
83
 
84
84
  OPERATIONS = [
85
85
  OPERATION_SUBSCRIBE, OPERATION_HEARTBEAT, OPERATION_PRESENCE, OPERATION_TIME, OPERATION_HISTORY,
@@ -87,10 +87,11 @@ module Pubnub
87
87
  OPERATION_LIST_ALL_CHANNELS_IN_CHANNEL_GROUP, OPERATION_CHANNEL_GROUP_ADD, OPERATION_CHANNEL_GROUP_REMOVE,
88
88
  OPERATION_AUDIT, OPERATION_GRANT, OPERATION_REVOKE, OPERATION_WHERE_NOW, OPERATION_MESSAGE_COUNTS,
89
89
  OPERATION_ADD_CHANNELS_TO_PUSH, OPERATION_LIST_PUSH_PROVISIONS, OPERATION_REMOVE_CHANNELS_FROM_PUSH,
90
- OPERATION_REMOVE_DEVICE_FROM_PUSH, OPERATION_SIGNAL, OPERATION_CREATE_USER, OPERATION_GET_USER,
91
- OPERATION_GET_USERS, OPERATION_UPDATE_USER, OPERATION_DELETE_USER, OPERATION_CREATE_SPACE,
92
- OPERATION_GET_SPACE, OPERATION_GET_SPACES, OPERATION_UPDATE_SPACE, OPERATION_DELETE_SPACE,
93
- OPERATION_GET_MEMBERS, OPERATION_MANAGE_MEMBERS, OPERATION_GET_SPACE_MEMBERSHIPS, OPERATION_MANAGE_MEMBERSHIPS
90
+ OPERATION_REMOVE_DEVICE_FROM_PUSH, OPERATION_SIGNAL, OPERATION_SET_UUID_METADATA, OPERATION_GET_UUID_METADATA,
91
+ OPERATION_GET_ALL_UUID_METADATA, OPERATION_REMOVE_UUID_METADATA, OPERATION_SET_CHANNEL_METADATA,
92
+ OPERATION_GET_CHANNEL_METADATA, OPERATION_GET_ALL_CHANNELS_METADATA, OPERATION_REMOVE_CHANNEL_METADATA,
93
+ OPERATION_GET_CHANNEL_MEMBERS, OPERATION_SET_CHANNEL_MEMBERS, OPERATION_REMOVE_CHANNEL_MEMBERS,
94
+ OPERATION_GET_MEMBERSHIPS, OPERATION_SET_MEMBERSHIPS, OPERATION_REMOVE_MEMBERSHIPS
94
95
  ].freeze
95
96
 
96
97
  # Announcements
@@ -29,6 +29,7 @@ module Pubnub
29
29
  set_timestamp
30
30
  validate!
31
31
  telemetry = @app.telemetry_for(@telemetry_name)
32
+ @compressed_body = nil
32
33
  @current_telemetry = telemetry ? telemetry.round(3) : nil
33
34
  Pubnub.logger.debug('Pubnub::Event') { "Initialized #{self.class}" }
34
35
  end
@@ -46,24 +47,20 @@ module Pubnub
46
47
  def send_request(compressed_body = '')
47
48
  Pubnub.logger.debug('Pubnub::Event') { '#send_request called' }
48
49
 
50
+ @compressed_body = compressed_body
49
51
  sender = request_dispatcher
50
52
  Pubnub.logger.debug('Pubnub::Event') { '#send_request got sender' }
51
53
 
52
54
  telemetry_time_start = ::Time.now.to_f
53
- response = case @event
54
- when Pubnub::Constants::OPERATION_DELETE, Pubnub::Constants::OPERATION_DELETE_SPACE, Pubnub::Constants::OPERATION_DELETE_USER
55
- sender.delete(uri.to_s)
56
- when Pubnub::Constants::OPERATION_MANAGE_MEMBERS, Pubnub::Constants::OPERATION_MANAGE_MEMBERSHIPS,
57
- Pubnub::Constants::OPERATION_UPDATE_SPACE, Pubnub::Constants::OPERATION_UPDATE_USER
58
- sender.patch(uri.to_s, body: compressed_body)
59
- when Pubnub::Constants::OPERATION_CREATE_USER, Pubnub::Constants::OPERATION_CREATE_SPACE
55
+ response = case operation_http_method
56
+ when "get"
57
+ sender.get(uri.to_s)
58
+ when "post"
60
59
  sender.post(uri.to_s, body: compressed_body)
60
+ when "patch"
61
+ sender.patch(uri.to_s, body: compressed_body)
61
62
  else
62
- if compressed_body.empty?
63
- sender.get(uri.to_s)
64
- else
65
- sender.post(uri.to_s, body: compressed_body)
66
- end
63
+ sender.delete(uri.to_s)
67
64
  end
68
65
 
69
66
  begin
@@ -84,7 +81,7 @@ module Pubnub
84
81
  return @uri if @uri
85
82
  end
86
83
 
87
- sa_signature = super_admin_signature unless parameters.include?(:signature)
84
+ sa_signature = super_admin_signature(operation_http_method, @compressed_body) unless parameters.include?(:signature)
88
85
 
89
86
  uri = @ssl ? 'https://' : 'http://'
90
87
  uri += @origin
@@ -105,6 +102,23 @@ module Pubnub
105
102
 
106
103
  private
107
104
 
105
+ def operation_http_method
106
+ case @event
107
+ when Pubnub::Constants::OPERATION_DELETE, Pubnub::Constants::OPERATION_REMOVE_CHANNEL_METADATA, Pubnub::Constants::OPERATION_REMOVE_UUID_METADATA
108
+ "delete"
109
+ when Pubnub::Constants::OPERATION_SET_UUID_METADATA, Pubnub::Constants::OPERATION_SET_CHANNEL_METADATA,
110
+ Pubnub::Constants::OPERATION_SET_CHANNEL_MEMBERS, Pubnub::Constants::OPERATION_SET_MEMBERSHIPS,
111
+ Pubnub::Constants::OPERATION_REMOVE_CHANNEL_MEMBERS, Pubnub::Constants::OPERATION_REMOVE_MEMBERSHIPS
112
+ "patch"
113
+ else
114
+ if @compressed_body.nil? || @compressed_body.empty?
115
+ "get"
116
+ else
117
+ "post"
118
+ end
119
+ end
120
+ end
121
+
108
122
  def secure_call(cb, arg)
109
123
  cb.call arg
110
124
  rescue StandardError => error
@@ -146,10 +160,10 @@ module Pubnub
146
160
  ssl cipher_key secret_key auth_key
147
161
  publish_key subscribe_key timetoken
148
162
  open_timeout read_timeout idle_timeout heartbeat
149
- group action read write manage ttl presence start
150
- end count reverse presence_callback store skip_validate
163
+ group action read write delete manage ttl presence start
164
+ end count limit reverse presence_callback store skip_validate
151
165
  state channel_group channel_groups compressed meta customs include_token
152
- replicate with_presence cipher_key_selector]
166
+ replicate with_presence cipher_key_selector include_meta join update get]
153
167
 
154
168
  options = options.each_with_object({}) { |option, obj| obj[option.first.to_sym] = option.last }
155
169