pubnub 4.2.6 → 4.6.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 (226) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.pubnub.yml +113 -56
  4. data/.travis.yml +4 -2
  5. data/CHANGELOG.md +39 -11
  6. data/Gemfile.lock +10 -1
  7. data/README.md +56 -17
  8. data/VERSION +1 -1
  9. data/fixtures/vcr_cassettes/examples/add_channels_to_push/001.yml +45 -0
  10. data/fixtures/vcr_cassettes/examples/add_channels_to_push/002.yml +45 -0
  11. data/fixtures/vcr_cassettes/examples/add_channels_to_push/003.yml +45 -0
  12. data/fixtures/vcr_cassettes/examples/add_channels_to_push/004.yml +45 -0
  13. data/fixtures/vcr_cassettes/examples/channel_members/001.yml +111 -0
  14. data/fixtures/vcr_cassettes/examples/channel_members/002.yml +111 -0
  15. data/fixtures/vcr_cassettes/examples/channel_members/003.yml +111 -0
  16. data/fixtures/vcr_cassettes/examples/channel_members/004.yml +147 -0
  17. data/fixtures/vcr_cassettes/examples/channel_members/005.yml +147 -0
  18. data/fixtures/vcr_cassettes/examples/channel_members/006.yml +147 -0
  19. data/fixtures/vcr_cassettes/examples/channel_metadata/001.yml +39 -0
  20. data/fixtures/vcr_cassettes/examples/channel_metadata/002.yml +39 -0
  21. data/fixtures/vcr_cassettes/examples/channel_metadata/003.yml +39 -0
  22. data/fixtures/vcr_cassettes/examples/channel_metadata/004.yml +73 -0
  23. data/fixtures/vcr_cassettes/examples/channel_metadata/005.yml +73 -0
  24. data/fixtures/vcr_cassettes/examples/channel_metadata/006.yml +73 -0
  25. data/fixtures/vcr_cassettes/examples/grant/1913.yml +1 -1
  26. data/fixtures/vcr_cassettes/examples/grant/1944.yml +8 -9
  27. data/fixtures/vcr_cassettes/examples/grant/1945.yml +359 -9
  28. data/fixtures/vcr_cassettes/examples/grant/1946.yml +8 -9
  29. data/fixtures/vcr_cassettes/examples/grant/1947.yml +8 -9
  30. data/fixtures/vcr_cassettes/examples/grant/1948.yml +8 -9
  31. data/fixtures/vcr_cassettes/examples/history/include_meta__encrypted.yml +7 -7
  32. data/fixtures/vcr_cassettes/examples/history/include_meta__encrypted_random_iv.yml +46 -0
  33. data/fixtures/vcr_cassettes/examples/history/include_token__encrypted.yml +6 -6
  34. data/fixtures/vcr_cassettes/examples/history/include_token__encrypted_random_iv.yml +46 -0
  35. data/fixtures/vcr_cassettes/examples/history/no_includes__encrypted.yml +6 -6
  36. data/fixtures/vcr_cassettes/examples/history/no_includes__encrypted_random_iv.yml +45 -0
  37. data/fixtures/vcr_cassettes/examples/list_push_provisions/001.yml +46 -0
  38. data/fixtures/vcr_cassettes/examples/list_push_provisions/002.yml +45 -0
  39. data/fixtures/vcr_cassettes/examples/list_push_provisions/003.yml +45 -0
  40. data/fixtures/vcr_cassettes/examples/memberships/001.yml +111 -0
  41. data/fixtures/vcr_cassettes/examples/memberships/002.yml +111 -0
  42. data/fixtures/vcr_cassettes/examples/memberships/003.yml +111 -0
  43. data/fixtures/vcr_cassettes/examples/memberships/004.yml +111 -0
  44. data/fixtures/vcr_cassettes/examples/memberships/005.yml +147 -0
  45. data/fixtures/vcr_cassettes/examples/memberships/006.yml +147 -0
  46. data/fixtures/vcr_cassettes/examples/memberships/007.yml +147 -0
  47. data/fixtures/vcr_cassettes/examples/memberships/008.yml +147 -0
  48. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/001.yml +45 -0
  49. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/002.yml +45 -0
  50. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/003.yml +45 -0
  51. data/fixtures/vcr_cassettes/examples/remove_device_from_push/001.yml +45 -0
  52. data/fixtures/vcr_cassettes/examples/remove_device_from_push/002.yml +45 -0
  53. data/fixtures/vcr_cassettes/examples/remove_device_from_push/003.yml +45 -0
  54. data/fixtures/vcr_cassettes/examples/uuid_metadata/001.yml +39 -0
  55. data/fixtures/vcr_cassettes/examples/uuid_metadata/002.yml +39 -0
  56. data/fixtures/vcr_cassettes/examples/uuid_metadata/003.yml +39 -0
  57. data/fixtures/vcr_cassettes/examples/uuid_metadata/004.yml +39 -0
  58. data/fixtures/vcr_cassettes/examples/uuid_metadata/005.yml +73 -0
  59. data/fixtures/vcr_cassettes/examples/uuid_metadata/006.yml +73 -0
  60. data/fixtures/vcr_cassettes/examples/uuid_metadata/007.yml +73 -0
  61. data/fixtures/vcr_cassettes/examples/uuid_metadata/008.yml +73 -0
  62. data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +39 -0
  63. data/fixtures/vcr_cassettes/lib/events/get_all_uuid_metadata.yml +76 -0
  64. data/fixtures/vcr_cassettes/lib/events/get_channel_members.yml +37 -0
  65. data/fixtures/vcr_cassettes/lib/events/get_channel_metadata.yml +37 -0
  66. data/fixtures/vcr_cassettes/lib/events/get_memberships1.yml +37 -0
  67. data/fixtures/vcr_cassettes/lib/events/get_memberships2.yml +37 -0
  68. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata1.yml +76 -0
  69. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata2.yml +76 -0
  70. data/fixtures/vcr_cassettes/lib/events/grant-error.yml +2 -2
  71. data/fixtures/vcr_cassettes/lib/events/grant.yml +10 -11
  72. data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +78 -0
  73. data/fixtures/vcr_cassettes/lib/events/{delete_space.yml → remove_channel_metadata.yml} +5 -6
  74. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_remove.yml → remove_memberships1.yml} +8 -9
  75. data/fixtures/vcr_cassettes/lib/events/{manage_members_add.yml → remove_memberships2.yml} +8 -9
  76. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata1.yml +76 -0
  77. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata2.yml +76 -0
  78. data/fixtures/vcr_cassettes/lib/events/set_channel_members.yml +39 -0
  79. data/fixtures/vcr_cassettes/lib/events/set_channel_metadata.yml +39 -0
  80. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_add.yml → set_memberships1.yml} +8 -9
  81. data/fixtures/vcr_cassettes/lib/events/set_memberships2.yml +39 -0
  82. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata1.yml +78 -0
  83. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata2.yml +78 -0
  84. data/fixtures/vcr_cassettes/lib/events/{subscribe-space-delete-async.yml → subscribe-channel-metadata-remove-sync.yml} +12 -14
  85. data/fixtures/vcr_cassettes/lib/events/subscribe-channel-metadata-set-async.yml +75 -0
  86. data/fixtures/vcr_cassettes/lib/events/{subscribe-member-remove-async.yml → subscribe-member-remove-sync.yml} +12 -14
  87. data/fixtures/vcr_cassettes/lib/events/subscribe-member-set-async.yml +75 -0
  88. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-remove-async.yml +12 -14
  89. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-update-async.yml → subscribe-membership-set-async.yml} +12 -14
  90. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-delete-async.yml → subscribe-uuid-metadata-remove-sync.yml} +12 -14
  91. data/fixtures/vcr_cassettes/lib/events/subscribe-uuid-metadata-set-async.yml +75 -0
  92. data/lib/pubnub/client.rb +22 -16
  93. data/lib/pubnub/client/events.rb +4 -2
  94. data/lib/pubnub/client/helpers.rb +1 -1
  95. data/lib/pubnub/configuration.rb +1 -0
  96. data/lib/pubnub/constants.rb +20 -18
  97. data/lib/pubnub/crypto.rb +22 -8
  98. data/lib/pubnub/event.rb +39 -17
  99. data/lib/pubnub/event/formatter.rb +4 -0
  100. data/lib/pubnub/event/signature.rb +22 -7
  101. data/lib/pubnub/events/add_channels_to_push.rb +29 -13
  102. data/lib/pubnub/events/get_all_channels_metadata.rb +104 -0
  103. data/lib/pubnub/events/get_all_uuid_metadata.rb +104 -0
  104. data/lib/pubnub/events/get_channel_members.rb +120 -0
  105. data/lib/pubnub/events/{update_space.rb → get_channel_metadata.rb} +27 -27
  106. data/lib/pubnub/events/get_memberships.rb +120 -0
  107. data/lib/pubnub/events/{create_space.rb → get_uuid_metadata.rb} +27 -25
  108. data/lib/pubnub/events/grant.rb +10 -1
  109. data/lib/pubnub/events/history.rb +2 -1
  110. data/lib/pubnub/events/list_push_provisions.rb +29 -12
  111. data/lib/pubnub/events/publish.rb +2 -2
  112. data/lib/pubnub/events/remove_channel_members.rb +137 -0
  113. data/lib/pubnub/events/{delete_space.rb → remove_channel_metadata.rb} +13 -13
  114. data/lib/pubnub/events/remove_channels_from_push.rb +29 -13
  115. data/lib/pubnub/events/remove_device_from_push.rb +30 -14
  116. data/lib/pubnub/events/remove_memberships.rb +137 -0
  117. data/lib/pubnub/events/{delete_user.rb → remove_uuid_metadata.rb} +13 -13
  118. data/lib/pubnub/events/set_channel_members.rb +140 -0
  119. data/lib/pubnub/events/{manage_members.rb → set_channel_metadata.rb} +32 -38
  120. data/lib/pubnub/events/set_memberships.rb +140 -0
  121. data/lib/pubnub/events/{create_user.rb → set_uuid_metadata.rb} +33 -17
  122. data/lib/pubnub/events/signal.rb +1 -1
  123. data/lib/pubnub/formatter.rb +31 -4
  124. data/lib/pubnub/pam.rb +2 -11
  125. data/lib/pubnub/subscribe_callback.rb +1 -3
  126. data/lib/pubnub/subscribe_event/formatter.rb +30 -19
  127. data/lib/pubnub/subscriber.rb +5 -6
  128. data/lib/pubnub/validators/add_channels_to_push.rb +52 -0
  129. data/lib/pubnub/validators/get_all_channels_metadata.rb +29 -0
  130. data/lib/pubnub/validators/get_all_uuid_metadata.rb +29 -0
  131. data/lib/pubnub/validators/get_channel_members.rb +39 -0
  132. data/lib/pubnub/validators/get_channel_metadata.rb +39 -0
  133. data/lib/pubnub/validators/get_memberships.rb +39 -0
  134. data/lib/pubnub/validators/get_uuid_metadata.rb +39 -0
  135. data/lib/pubnub/validators/grant.rb +37 -2
  136. data/lib/pubnub/validators/list_push_provisions.rb +43 -0
  137. data/lib/pubnub/validators/remove_channel_members.rb +52 -0
  138. data/lib/pubnub/validators/remove_channel_metadata.rb +39 -0
  139. data/lib/pubnub/validators/remove_channels_from_push.rb +52 -0
  140. data/lib/pubnub/validators/remove_device_from_push.rb +43 -0
  141. data/lib/pubnub/validators/remove_memberships.rb +52 -0
  142. data/lib/pubnub/validators/remove_uuid_metadata.rb +39 -0
  143. data/lib/pubnub/validators/set_channel_members.rb +78 -0
  144. data/lib/pubnub/validators/set_channel_metadata.rb +62 -0
  145. data/lib/pubnub/validators/set_memberships.rb +78 -0
  146. data/lib/pubnub/validators/set_uuid_metadata.rb +62 -0
  147. data/lib/pubnub/version.rb +1 -1
  148. data/spec/examples/add_channels_to_push_spec.rb +178 -0
  149. data/spec/examples/{grant_examples_spec.rb → grant_examples_1_spec.rb} +0 -8973
  150. data/spec/examples/grant_examples_2_spec.rb +9107 -0
  151. data/spec/examples/history_examples_spec.rb +87 -9
  152. data/spec/examples/list_push_provisions_spec.rb +164 -0
  153. data/spec/examples/presence_examples_spec.rb +222 -186
  154. data/spec/examples/publish_examples_spec.rb +864 -0
  155. data/spec/examples/remove_channel_members_examples_spec.rb +100 -0
  156. data/spec/examples/remove_channel_metadata_examples_spec.rb +89 -0
  157. data/spec/examples/remove_channels_from_push_spec.rb +164 -0
  158. data/spec/examples/remove_device_from_push_spec.rb +164 -0
  159. data/spec/examples/remove_memberships_examples_spec.rb +121 -0
  160. data/spec/examples/remove_uuid_metadata_examples_spec.rb +107 -0
  161. data/spec/examples/revoke_examples_1_spec.rb +27013 -0
  162. data/spec/examples/revoke_examples_2_spec.rb +27012 -0
  163. data/spec/examples/revoke_examples_3_spec.rb +17967 -0
  164. data/spec/examples/set_channel_members_examples_spec.rb +99 -0
  165. data/spec/examples/set_channel_metadata_examples_spec.rb +93 -0
  166. data/spec/examples/set_memberships_examples_spec.rb +122 -0
  167. data/spec/examples/set_uuid_metadata_examples_spec.rb +114 -0
  168. data/spec/examples/status_request_message_count_exceeded_spec.rb +4 -1
  169. data/spec/examples/subscribe_examples_1_spec.rb +26972 -0
  170. data/spec/examples/subscribe_examples_2_spec.rb +19575 -0
  171. data/spec/lib/connection_callback_spec.rb +4 -3
  172. data/spec/lib/event/formatter_spec.rb +22 -0
  173. data/spec/lib/events/channel_metadata_spec.rb +58 -0
  174. data/spec/lib/events/grant_spec.rb +3 -2
  175. data/spec/lib/events/membership_spec.rb +51 -21
  176. data/spec/lib/events/presence_delta_spec.rb +9 -6
  177. data/spec/lib/events/presence_spec.rb +13 -7
  178. data/spec/lib/events/subscribe_spec.rb +104 -65
  179. data/spec/lib/events/uuid_metadata_spec.rb +86 -0
  180. data/spec/lib/multiple_ciphers_spec.rb +16 -4
  181. data/spec/lib/subscribe_event/formatter_spec.rb +22 -0
  182. data/spec/lib/super_admin_spec.rb +8 -4
  183. data/spec/spec_helper.rb +24 -8
  184. metadata +153 -65
  185. data/fixtures/vcr_cassettes/lib/events/create_space.yml +0 -40
  186. data/fixtures/vcr_cassettes/lib/events/create_user.yml +0 -40
  187. data/fixtures/vcr_cassettes/lib/events/delete_user.yml +0 -38
  188. data/fixtures/vcr_cassettes/lib/events/get_members.yml +0 -38
  189. data/fixtures/vcr_cassettes/lib/events/get_space.yml +0 -38
  190. data/fixtures/vcr_cassettes/lib/events/get_space_memberships.yml +0 -38
  191. data/fixtures/vcr_cassettes/lib/events/get_spaces.yml +0 -40
  192. data/fixtures/vcr_cassettes/lib/events/get_user.yml +0 -38
  193. data/fixtures/vcr_cassettes/lib/events/get_users.yml +0 -40
  194. data/fixtures/vcr_cassettes/lib/events/manage_members_remove.yml +0 -83
  195. data/fixtures/vcr_cassettes/lib/events/subscribe-member-add-async.yml +0 -77
  196. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-add-async.yml +0 -77
  197. data/fixtures/vcr_cassettes/lib/events/subscribe-space-update-async.yml +0 -77
  198. data/fixtures/vcr_cassettes/lib/events/update_space.yml +0 -40
  199. data/fixtures/vcr_cassettes/lib/events/update_user.yml +0 -40
  200. data/lib/pubnub/events/get_members.rb +0 -93
  201. data/lib/pubnub/events/get_space.rb +0 -74
  202. data/lib/pubnub/events/get_space_memberships.rb +0 -93
  203. data/lib/pubnub/events/get_spaces.rb +0 -90
  204. data/lib/pubnub/events/get_user.rb +0 -74
  205. data/lib/pubnub/events/get_users.rb +0 -90
  206. data/lib/pubnub/events/manage_memberships.rb +0 -105
  207. data/lib/pubnub/events/update_user.rb +0 -86
  208. data/lib/pubnub/validators/create_space.rb +0 -44
  209. data/lib/pubnub/validators/create_user.rb +0 -44
  210. data/lib/pubnub/validators/delete_space.rb +0 -32
  211. data/lib/pubnub/validators/delete_user.rb +0 -32
  212. data/lib/pubnub/validators/get_members.rb +0 -32
  213. data/lib/pubnub/validators/get_space.rb +0 -32
  214. data/lib/pubnub/validators/get_space_memberships.rb +0 -32
  215. data/lib/pubnub/validators/get_spaces.rb +0 -16
  216. data/lib/pubnub/validators/get_user.rb +0 -32
  217. data/lib/pubnub/validators/get_users.rb +0 -16
  218. data/lib/pubnub/validators/manage_members.rb +0 -45
  219. data/lib/pubnub/validators/manage_memberships.rb +0 -45
  220. data/lib/pubnub/validators/push.rb +0 -43
  221. data/lib/pubnub/validators/update_space.rb +0 -45
  222. data/lib/pubnub/validators/update_user.rb +0 -45
  223. data/spec/examples/revoke_examples_spec.rb +0 -71950
  224. data/spec/examples/subscribe_examples_spec.rb +0 -45184
  225. data/spec/lib/events/space_spec.rb +0 -75
  226. data/spec/lib/events/user_spec.rb +0 -75
@@ -1,77 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/rb_space_4/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&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
- - Fri, 25 Oct 2019 20:20:13 GMT
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Date:
22
- - Fri, 25 Oct 2019 20:20:15 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":"15720347890178803","r":12},"m":[]}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 20:20:13 GMT
40
- - request:
41
- method: get
42
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/rb_space_4/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:12,%22t%22:%2215720347890178803%22%7D&uuid=ruby-test-uuid
43
- body:
44
- encoding: UTF-8
45
- string: ''
46
- headers:
47
- User-Agent:
48
- - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
49
- Accept:
50
- - "*/*"
51
- Date:
52
- - Fri, 25 Oct 2019 20:20:13 GMT
53
- response:
54
- status:
55
- code: 200
56
- message: OK
57
- headers:
58
- Date:
59
- - Fri, 25 Oct 2019 20:20:18 GMT
60
- Content-Type:
61
- - text/javascript; charset="UTF-8"
62
- Content-Length:
63
- - '422'
64
- Connection:
65
- - keep-alive
66
- Cache-Control:
67
- - no-cache
68
- Access-Control-Allow-Origin:
69
- - "*"
70
- Access-Control-Allow-Methods:
71
- - GET
72
- body:
73
- encoding: UTF-8
74
- string: '{"t":{"t":"15720348183193928","r":12},"m":[{"a":"3","f":0,"e":2,"p":{"t":"15720348182752121","r":2},"k":"sub-a-mock-key","c":"rb_space_4","d":{"source":"objects","version":"1.0","event":"create","type":"membership","data":{"created":"2019-10-25T20:20:18.257654837Z","custom":null,"eTag":"AY39mJKK//C0VA","spaceId":"rb_space_4","updated":"2019-10-25T20:20:18.257654837Z","userId":"user_mg4"}}}]}'
75
- http_version:
76
- recorded_at: Fri, 25 Oct 2019 20:20:15 GMT
77
- recorded_with: VCR 5.0.0
@@ -1,77 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
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
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
- - Fri, 25 Oct 2019 20:26:00 GMT
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Date:
22
- - Fri, 25 Oct 2019 20:26:03 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":"15720349772128587","r":12},"m":[]}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 20:26:00 GMT
40
- - request:
41
- 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:%2215720349772128587%22%7D&uuid=ruby-test-uuid
43
- body:
44
- encoding: UTF-8
45
- string: ''
46
- headers:
47
- User-Agent:
48
- - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
49
- Accept:
50
- - "*/*"
51
- Date:
52
- - Fri, 25 Oct 2019 20:26:00 GMT
53
- response:
54
- status:
55
- code: 200
56
- message: OK
57
- headers:
58
- Date:
59
- - Fri, 25 Oct 2019 20:26:06 GMT
60
- Content-Type:
61
- - text/javascript; charset="UTF-8"
62
- Content-Length:
63
- - '420'
64
- Connection:
65
- - keep-alive
66
- Cache-Control:
67
- - no-cache
68
- Access-Control-Allow-Origin:
69
- - "*"
70
- Access-Control-Allow-Methods:
71
- - GET
72
- body:
73
- encoding: UTF-8
74
- string: '{"t":{"t":"15720351664523185","r":12},"m":[{"a":"3","f":0,"e":2,"p":{"t":"15720351664083594","r":2},"k":"sub-a-mock-key","c":"user_mg4","d":{"source":"objects","version":"1.0","event":"create","type":"membership","data":{"created":"2019-10-25T20:26:06.392141731Z","custom":null,"eTag":"AY39mJKK//C0VA","spaceId":"rb_space_4","updated":"2019-10-25T20:26:06.392141731Z","userId":"user_mg4"}}}]}'
75
- http_version:
76
- recorded_at: Fri, 25 Oct 2019 20:26:03 GMT
77
- recorded_with: VCR 5.0.0
@@ -1,77 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/rb_space_3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&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
- - Fri, 25 Oct 2019 19:41:06 GMT
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Date:
22
- - Fri, 25 Oct 2019 19:41:09 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":"15720324693401333","r":12},"m":[]}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 19:41:06 GMT
40
- - request:
41
- method: get
42
- uri: http://ps.pndsn.com/v2/subscribe/sub-a-mock-key/rb_space_3/0?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.0&t=%7B%22r%22:12,%22t%22:%2215720324693401333%22%7D&uuid=ruby-test-uuid
43
- body:
44
- encoding: UTF-8
45
- string: ''
46
- headers:
47
- User-Agent:
48
- - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
49
- Accept:
50
- - "*/*"
51
- Date:
52
- - Fri, 25 Oct 2019 19:41:06 GMT
53
- response:
54
- status:
55
- code: 200
56
- message: OK
57
- headers:
58
- Date:
59
- - Fri, 25 Oct 2019 19:43:04 GMT
60
- Content-Type:
61
- - text/javascript; charset="UTF-8"
62
- Content-Length:
63
- - '358'
64
- Connection:
65
- - keep-alive
66
- Cache-Control:
67
- - no-cache
68
- Access-Control-Allow-Origin:
69
- - "*"
70
- Access-Control-Allow-Methods:
71
- - GET
72
- body:
73
- encoding: UTF-8
74
- string: '{"t":{"t":"15720325841044329","r":12},"m":[{"a":"3","f":0,"e":2,"p":{"t":"15720325840630385","r":2},"k":"sub-a-mock-key","c":"rb_space_3","d":{"source":"objects","version":"1.0","event":"update","type":"space","data":{"eTag":"AZmU8+zbjLGOoAE","id":"rb_space_3","name":"name_1572032581","updated":"2019-10-25T19:43:03.976039Z"}}}]}'
75
- http_version:
76
- recorded_at: Fri, 25 Oct 2019 19:43:01 GMT
77
- recorded_with: VCR 5.0.0
@@ -1,40 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: patch
5
- uri: http://ps.pndsn.com/v1/objects/demo/spaces/rb_space?auth=ruby-test-auth&include=custom&pnsdk=PubNub-Ruby/4.2.0&uuid=ruby-test-uuid
6
- body:
7
- encoding: UTF-8
8
- string: '{"id":"rb_space","name":"new_name","custom":{"XXX":"YYYY"}}'
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
- - Fri, 25 Oct 2019 20:35:51 GMT
16
- Content-Type:
17
- - application/x-www-form-urlencoded
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Date:
24
- - Fri, 25 Oct 2019 20:35:54 GMT
25
- Content-Type:
26
- - application/json
27
- Content-Length:
28
- - '203'
29
- Connection:
30
- - keep-alive
31
- Access-Control-Allow-Origin:
32
- - "*"
33
- Access-Control-Allow-Credentials:
34
- - 'true'
35
- body:
36
- encoding: UTF-8
37
- string: '{"status":200,"data":{"id":"rb_space","name":"new_name","description":null,"custom":{"XXX":"YYYY"},"created":"2019-10-25T20:35:54.1512Z","updated":"2019-10-25T20:35:54.431837Z","eTag":"AYKsrdL029TZ1wE"}}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 20:35:51 GMT
40
- recorded_with: VCR 5.0.0
@@ -1,40 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: patch
5
- uri: http://ps.pndsn.com/v1/objects/demo/users/mg?auth=ruby-test-auth&include=custom&pnsdk=PubNub-Ruby/4.2.0&uuid=ruby-test-uuid
6
- body:
7
- encoding: UTF-8
8
- string: '{"id":"mg","name":"magnum_1","custom":{"XXX":"YYYY"}}'
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
- - Fri, 25 Oct 2019 20:36:54 GMT
16
- Content-Type:
17
- - application/x-www-form-urlencoded
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Date:
24
- - Fri, 25 Oct 2019 20:36:57 GMT
25
- Content-Type:
26
- - application/json
27
- Content-Length:
28
- - '228'
29
- Connection:
30
- - keep-alive
31
- Access-Control-Allow-Origin:
32
- - "*"
33
- Access-Control-Allow-Credentials:
34
- - 'true'
35
- body:
36
- encoding: UTF-8
37
- string: '{"status":200,"data":{"id":"mg","name":"magnum_1","externalId":null,"profileUrl":null,"email":null,"custom":{"XXX":"YYYY"},"created":"2019-10-25T20:36:57.254813Z","updated":"2019-10-25T20:36:57.561462Z","eTag":"AYD0rZeD55aIMA"}}'
38
- http_version:
39
- recorded_at: Fri, 25 Oct 2019 20:36:54 GMT
40
- recorded_with: VCR 5.0.0
@@ -1,93 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Holds GetMembers functionality
6
- class GetMembers < SingleEvent
7
- include Concurrent::Async
8
- include Pubnub::Validator::GetMembers
9
- @max_limit = 100
10
-
11
- def initialize(options, app)
12
- @event = :get_members
13
- @telemetry_name = :l_obj
14
- @start = options[:start]
15
- @end = if options[:end].nil?
16
- @max_limit
17
- else
18
- @end = options[:end]
19
- end
20
- @limit = options[:limit]
21
- @count = if options[:count].nil?
22
- false
23
- else
24
- options[:count]
25
- end
26
- @include = options[:include]
27
- @space_id = options[:space_id]
28
- super
29
- end
30
-
31
- private
32
-
33
- def current_operation
34
- Pubnub::Constants::OPERATION_GET_MEMBERS
35
- end
36
-
37
- def parameters(*_args)
38
- parameters = super
39
- parameters[:start] = @start if @start
40
- parameters[:end] = @end if @end && !@start
41
- parameters[:count] = @count if @count
42
- parameters[:limit] = @limit if @limit && @limit != @max_limit
43
- parameters[:include] = @include if @include
44
-
45
- parameters
46
- end
47
-
48
- def path
49
- '/' + [
50
- 'v1',
51
- 'objects',
52
- @subscribe_key,
53
- 'spaces',
54
- @space_id,
55
- 'users'
56
- ].join('/')
57
- end
58
-
59
- def valid_envelope(parsed_response, req_res_objects)
60
- Pubnub::Envelope.new(
61
- event: @event,
62
- event_options: @given_options,
63
- timetoken: nil,
64
-
65
- result: {
66
- code: req_res_objects[:response].code,
67
- operation: Pubnub::Constants::OPERATION_GET_MEMBERS,
68
- client_request: req_res_objects[:request],
69
- server_response: req_res_objects[:response],
70
- data: parsed_response
71
- },
72
-
73
- status: {
74
- code: req_res_objects[:response].code,
75
- operation: Pubnub::Constants::OPERATION_GET_MEMBERS,
76
- client_request: req_res_objects[:request],
77
- server_response: req_res_objects[:response],
78
- data: nil,
79
- category: Pubnub::Constants::STATUS_ACK,
80
- error: false,
81
- auto_retried: false,
82
-
83
- current_timetoken: nil,
84
- last_timetoken: nil,
85
- subscribed_channels: nil,
86
- subscribed_channel_groups: nil,
87
-
88
- config: get_config
89
- }
90
- )
91
- end
92
- end
93
- end
@@ -1,74 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Holds GetSpace functionality
6
- class GetSpace < SingleEvent
7
- include Concurrent::Async
8
- include Pubnub::Validator::GetSpace
9
-
10
- def initialize(options, app)
11
- @event = :get_space
12
- @telemetry_name = :l_obj
13
- @space_id = options[:space_id]
14
- @include = options[:include]
15
- super
16
- end
17
-
18
- private
19
-
20
- def current_operation
21
- Pubnub::Constants::OPERATION_GET_SPACE
22
- end
23
-
24
- def parameters(*_args)
25
- parameters = super
26
- parameters[:include] = @include if @include
27
- parameters
28
- end
29
-
30
- def path
31
- '/' + [
32
- 'v1',
33
- 'objects',
34
- @subscribe_key,
35
- 'spaces',
36
- @space_id
37
- ].join('/')
38
- end
39
-
40
- def valid_envelope(parsed_response, req_res_objects)
41
- Pubnub::Envelope.new(
42
- event: @event,
43
- event_options: @given_options,
44
- timetoken: nil,
45
-
46
- result: {
47
- code: req_res_objects[:response].code,
48
- operation: Pubnub::Constants::OPERATION_GET_SPACE,
49
- client_request: req_res_objects[:request],
50
- server_response: req_res_objects[:response],
51
- data: parsed_response
52
- },
53
-
54
- status: {
55
- code: req_res_objects[:response].code,
56
- operation: Pubnub::Constants::OPERATION_GET_SPACE,
57
- client_request: req_res_objects[:request],
58
- server_response: req_res_objects[:response],
59
- data: nil,
60
- category: Pubnub::Constants::STATUS_ACK,
61
- error: false,
62
- auto_retried: false,
63
-
64
- current_timetoken: nil,
65
- last_timetoken: nil,
66
- subscribed_channels: nil,
67
- subscribed_channel_groups: nil,
68
-
69
- config: get_config
70
- }
71
- )
72
- end
73
- end
74
- end