pubnub 4.2.5 → 4.5.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 (183) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.pubnub.yml +168 -117
  4. data/.travis.yml +13 -9
  5. data/CHANGELOG.md +31 -8
  6. data/Gemfile.lock +67 -64
  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/grant/1913.yml +1 -1
  14. data/fixtures/vcr_cassettes/examples/grant/1944.yml +8 -9
  15. data/fixtures/vcr_cassettes/examples/grant/1945.yml +359 -9
  16. data/fixtures/vcr_cassettes/examples/grant/1946.yml +8 -9
  17. data/fixtures/vcr_cassettes/examples/grant/1947.yml +8 -9
  18. data/fixtures/vcr_cassettes/examples/grant/1948.yml +8 -9
  19. data/fixtures/vcr_cassettes/examples/history/100.yml +46 -0
  20. data/fixtures/vcr_cassettes/examples/history/include_meta__encrypted.yml +46 -0
  21. data/fixtures/vcr_cassettes/examples/history/include_token__encrypted.yml +45 -0
  22. data/fixtures/vcr_cassettes/examples/history/no_includes__encrypted.yml +45 -0
  23. data/fixtures/vcr_cassettes/examples/list_push_provisions/001.yml +46 -0
  24. data/fixtures/vcr_cassettes/examples/list_push_provisions/002.yml +45 -0
  25. data/fixtures/vcr_cassettes/examples/list_push_provisions/003.yml +45 -0
  26. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/001.yml +45 -0
  27. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/002.yml +45 -0
  28. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/003.yml +45 -0
  29. data/fixtures/vcr_cassettes/examples/remove_device_from_push/001.yml +45 -0
  30. data/fixtures/vcr_cassettes/examples/remove_device_from_push/002.yml +45 -0
  31. data/fixtures/vcr_cassettes/examples/remove_device_from_push/003.yml +45 -0
  32. data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +39 -0
  33. data/fixtures/vcr_cassettes/lib/events/get_all_uuid_metadata.yml +76 -0
  34. data/fixtures/vcr_cassettes/lib/events/get_channel_members.yml +37 -0
  35. data/fixtures/vcr_cassettes/lib/events/get_channel_metadata.yml +37 -0
  36. data/fixtures/vcr_cassettes/lib/events/get_memberships1.yml +37 -0
  37. data/fixtures/vcr_cassettes/lib/events/get_memberships2.yml +37 -0
  38. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata1.yml +76 -0
  39. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata2.yml +76 -0
  40. data/fixtures/vcr_cassettes/lib/events/grant-error.yml +2 -2
  41. data/fixtures/vcr_cassettes/lib/events/grant.yml +10 -11
  42. data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +78 -0
  43. data/fixtures/vcr_cassettes/lib/events/{delete_space.yml → remove_channel_metadata.yml} +5 -6
  44. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_remove.yml → remove_memberships1.yml} +8 -9
  45. data/fixtures/vcr_cassettes/lib/events/{manage_members_add.yml → remove_memberships2.yml} +8 -9
  46. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata1.yml +76 -0
  47. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata2.yml +76 -0
  48. data/fixtures/vcr_cassettes/lib/events/set_channel_members.yml +39 -0
  49. data/fixtures/vcr_cassettes/lib/events/set_channel_metadata.yml +39 -0
  50. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_add.yml → set_memberships1.yml} +8 -9
  51. data/fixtures/vcr_cassettes/lib/events/set_memberships2.yml +39 -0
  52. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata1.yml +78 -0
  53. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata2.yml +78 -0
  54. data/fixtures/vcr_cassettes/lib/events/{subscribe-space-delete-async.yml → subscribe-channel-metadata-remove-sync.yml} +12 -14
  55. data/fixtures/vcr_cassettes/lib/events/subscribe-channel-metadata-set-async.yml +75 -0
  56. data/fixtures/vcr_cassettes/lib/events/{subscribe-member-remove-async.yml → subscribe-member-remove-sync.yml} +12 -14
  57. data/fixtures/vcr_cassettes/lib/events/subscribe-member-set-async.yml +75 -0
  58. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-remove-async.yml +12 -14
  59. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-update-async.yml → subscribe-membership-set-async.yml} +12 -14
  60. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-delete-async.yml → subscribe-uuid-metadata-remove-sync.yml} +12 -14
  61. data/fixtures/vcr_cassettes/lib/events/subscribe-uuid-metadata-set-async.yml +75 -0
  62. data/lib/pubnub/client.rb +18 -15
  63. data/lib/pubnub/client/events.rb +4 -2
  64. data/lib/pubnub/client/paged_history.rb +1 -1
  65. data/lib/pubnub/constants.rb +19 -18
  66. data/lib/pubnub/event.rb +32 -16
  67. data/lib/pubnub/event/formatter.rb +4 -0
  68. data/lib/pubnub/event/signature.rb +22 -7
  69. data/lib/pubnub/events/add_channels_to_push.rb +29 -13
  70. data/lib/pubnub/events/get_all_channels_metadata.rb +104 -0
  71. data/lib/pubnub/events/get_all_uuid_metadata.rb +104 -0
  72. data/lib/pubnub/events/get_channel_members.rb +120 -0
  73. data/lib/pubnub/events/{update_space.rb → get_channel_metadata.rb} +27 -27
  74. data/lib/pubnub/events/get_memberships.rb +120 -0
  75. data/lib/pubnub/events/{create_space.rb → get_uuid_metadata.rb} +27 -25
  76. data/lib/pubnub/events/grant.rb +10 -1
  77. data/lib/pubnub/events/history.rb +17 -2
  78. data/lib/pubnub/events/list_push_provisions.rb +29 -12
  79. data/lib/pubnub/events/remove_channel_members.rb +137 -0
  80. data/lib/pubnub/events/{delete_space.rb → remove_channel_metadata.rb} +12 -12
  81. data/lib/pubnub/events/remove_channels_from_push.rb +29 -13
  82. data/lib/pubnub/events/remove_device_from_push.rb +30 -14
  83. data/lib/pubnub/events/remove_memberships.rb +137 -0
  84. data/lib/pubnub/events/{delete_user.rb → remove_uuid_metadata.rb} +12 -12
  85. data/lib/pubnub/events/set_channel_members.rb +140 -0
  86. data/lib/pubnub/events/{manage_members.rb → set_channel_metadata.rb} +32 -38
  87. data/lib/pubnub/events/set_memberships.rb +140 -0
  88. data/lib/pubnub/events/{create_user.rb → set_uuid_metadata.rb} +33 -17
  89. data/lib/pubnub/formatter.rb +30 -3
  90. data/lib/pubnub/pam.rb +2 -11
  91. data/lib/pubnub/subscribe_callback.rb +1 -3
  92. data/lib/pubnub/subscribe_event/formatter.rb +26 -17
  93. data/lib/pubnub/subscriber.rb +5 -6
  94. data/lib/pubnub/validators/add_channels_to_push.rb +52 -0
  95. data/lib/pubnub/validators/get_all_channels_metadata.rb +29 -0
  96. data/lib/pubnub/validators/get_all_uuid_metadata.rb +29 -0
  97. data/lib/pubnub/validators/get_channel_members.rb +39 -0
  98. data/lib/pubnub/validators/get_channel_metadata.rb +39 -0
  99. data/lib/pubnub/validators/get_memberships.rb +39 -0
  100. data/lib/pubnub/validators/get_uuid_metadata.rb +39 -0
  101. data/lib/pubnub/validators/grant.rb +37 -2
  102. data/lib/pubnub/validators/list_push_provisions.rb +43 -0
  103. data/lib/pubnub/validators/remove_channel_members.rb +52 -0
  104. data/lib/pubnub/validators/remove_channel_metadata.rb +39 -0
  105. data/lib/pubnub/validators/remove_channels_from_push.rb +52 -0
  106. data/lib/pubnub/validators/remove_device_from_push.rb +43 -0
  107. data/lib/pubnub/validators/remove_memberships.rb +52 -0
  108. data/lib/pubnub/validators/remove_uuid_metadata.rb +39 -0
  109. data/lib/pubnub/validators/set_channel_members.rb +78 -0
  110. data/lib/pubnub/validators/set_channel_metadata.rb +62 -0
  111. data/lib/pubnub/validators/set_memberships.rb +78 -0
  112. data/lib/pubnub/validators/set_uuid_metadata.rb +62 -0
  113. data/lib/pubnub/version.rb +1 -1
  114. data/pubnub.gemspec +1 -1
  115. data/spec/examples/add_channels_to_push_spec.rb +178 -0
  116. data/spec/examples/{grant_examples_spec.rb → grant_examples_1_spec.rb} +0 -8973
  117. data/spec/examples/grant_examples_2_spec.rb +9107 -0
  118. data/spec/examples/history_examples_spec.rb +85 -0
  119. data/spec/examples/list_push_provisions_spec.rb +164 -0
  120. data/spec/examples/presence_examples_spec.rb +222 -186
  121. data/spec/examples/remove_channels_from_push_spec.rb +164 -0
  122. data/spec/examples/remove_device_from_push_spec.rb +164 -0
  123. data/spec/examples/revoke_examples_1_spec.rb +27013 -0
  124. data/spec/examples/revoke_examples_2_spec.rb +27012 -0
  125. data/spec/examples/revoke_examples_3_spec.rb +17967 -0
  126. data/spec/examples/status_request_message_count_exceeded_spec.rb +4 -1
  127. data/spec/examples/subscribe_examples_1_spec.rb +26972 -0
  128. data/spec/examples/subscribe_examples_2_spec.rb +19575 -0
  129. data/spec/lib/connection_callback_spec.rb +4 -3
  130. data/spec/lib/event/formatter_spec.rb +22 -0
  131. data/spec/lib/events/channel_metadata_spec.rb +58 -0
  132. data/spec/lib/events/grant_spec.rb +3 -2
  133. data/spec/lib/events/membership_spec.rb +51 -21
  134. data/spec/lib/events/presence_delta_spec.rb +9 -6
  135. data/spec/lib/events/presence_spec.rb +13 -7
  136. data/spec/lib/events/subscribe_spec.rb +102 -65
  137. data/spec/lib/events/uuid_metadata_spec.rb +86 -0
  138. data/spec/lib/subscribe_event/formatter_spec.rb +22 -0
  139. data/spec/lib/super_admin_spec.rb +8 -4
  140. data/spec/spec_helper.rb +24 -8
  141. metadata +124 -79
  142. data/fixtures/vcr_cassettes/lib/events/create_space.yml +0 -40
  143. data/fixtures/vcr_cassettes/lib/events/create_user.yml +0 -40
  144. data/fixtures/vcr_cassettes/lib/events/delete_user.yml +0 -38
  145. data/fixtures/vcr_cassettes/lib/events/get_members.yml +0 -38
  146. data/fixtures/vcr_cassettes/lib/events/get_space.yml +0 -38
  147. data/fixtures/vcr_cassettes/lib/events/get_space_memberships.yml +0 -38
  148. data/fixtures/vcr_cassettes/lib/events/get_spaces.yml +0 -40
  149. data/fixtures/vcr_cassettes/lib/events/get_user.yml +0 -38
  150. data/fixtures/vcr_cassettes/lib/events/get_users.yml +0 -40
  151. data/fixtures/vcr_cassettes/lib/events/manage_members_remove.yml +0 -83
  152. data/fixtures/vcr_cassettes/lib/events/subscribe-member-add-async.yml +0 -77
  153. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-add-async.yml +0 -77
  154. data/fixtures/vcr_cassettes/lib/events/subscribe-space-update-async.yml +0 -77
  155. data/fixtures/vcr_cassettes/lib/events/update_space.yml +0 -40
  156. data/fixtures/vcr_cassettes/lib/events/update_user.yml +0 -40
  157. data/lib/pubnub/events/get_members.rb +0 -93
  158. data/lib/pubnub/events/get_space.rb +0 -74
  159. data/lib/pubnub/events/get_space_memberships.rb +0 -93
  160. data/lib/pubnub/events/get_spaces.rb +0 -90
  161. data/lib/pubnub/events/get_user.rb +0 -74
  162. data/lib/pubnub/events/get_users.rb +0 -90
  163. data/lib/pubnub/events/manage_memberships.rb +0 -105
  164. data/lib/pubnub/events/update_user.rb +0 -86
  165. data/lib/pubnub/validators/create_space.rb +0 -44
  166. data/lib/pubnub/validators/create_user.rb +0 -44
  167. data/lib/pubnub/validators/delete_space.rb +0 -32
  168. data/lib/pubnub/validators/delete_user.rb +0 -32
  169. data/lib/pubnub/validators/get_members.rb +0 -32
  170. data/lib/pubnub/validators/get_space.rb +0 -32
  171. data/lib/pubnub/validators/get_space_memberships.rb +0 -32
  172. data/lib/pubnub/validators/get_spaces.rb +0 -16
  173. data/lib/pubnub/validators/get_user.rb +0 -32
  174. data/lib/pubnub/validators/get_users.rb +0 -16
  175. data/lib/pubnub/validators/manage_members.rb +0 -45
  176. data/lib/pubnub/validators/manage_memberships.rb +0 -45
  177. data/lib/pubnub/validators/push.rb +0 -43
  178. data/lib/pubnub/validators/update_space.rb +0 -45
  179. data/lib/pubnub/validators/update_user.rb +0 -45
  180. data/spec/examples/revoke_examples_spec.rb +0 -71950
  181. data/spec/examples/subscribe_examples_spec.rb +0 -45184
  182. data/spec/lib/events/space_spec.rb +0 -75
  183. 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/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
@@ -1,93 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Holds GetSpaceMemberships functionality
6
- class GetSpaceMemberships < SingleEvent
7
- include Concurrent::Async
8
- include Pubnub::Validator::GetSpaceMemberships
9
- @max_limit = 100
10
-
11
- def initialize(options, app)
12
- @event = :get_space_memberships
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
- @user_id = options[:user_id]
28
- super
29
- end
30
-
31
- private
32
-
33
- def current_operation
34
- Pubnub::Constants::OPERATION_GET_SPACE_MEMBERSHIPS
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
- 'users',
54
- @user_id,
55
- 'spaces'
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_SPACE_MEMBERSHIPS,
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_SPACE_MEMBERSHIPS,
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