pubnub 4.4.0 → 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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/.pubnub.yml +18 -2
  3. data/.travis.yml +4 -2
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile.lock +10 -1
  6. data/README.md +56 -17
  7. data/VERSION +1 -1
  8. data/fixtures/vcr_cassettes/examples/add_channels_to_push/001.yml +45 -0
  9. data/fixtures/vcr_cassettes/examples/add_channels_to_push/002.yml +45 -0
  10. data/fixtures/vcr_cassettes/examples/add_channels_to_push/003.yml +45 -0
  11. data/fixtures/vcr_cassettes/examples/add_channels_to_push/004.yml +45 -0
  12. data/fixtures/vcr_cassettes/examples/grant/1946.yml +8 -9
  13. data/fixtures/vcr_cassettes/examples/grant/1947.yml +8 -9
  14. data/fixtures/vcr_cassettes/examples/grant/1948.yml +8 -9
  15. data/fixtures/vcr_cassettes/examples/list_push_provisions/001.yml +46 -0
  16. data/fixtures/vcr_cassettes/examples/list_push_provisions/002.yml +45 -0
  17. data/fixtures/vcr_cassettes/examples/list_push_provisions/003.yml +45 -0
  18. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/001.yml +45 -0
  19. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/002.yml +45 -0
  20. data/fixtures/vcr_cassettes/examples/remove_channels_from_push/003.yml +45 -0
  21. data/fixtures/vcr_cassettes/examples/remove_device_from_push/001.yml +45 -0
  22. data/fixtures/vcr_cassettes/examples/remove_device_from_push/002.yml +45 -0
  23. data/fixtures/vcr_cassettes/examples/remove_device_from_push/003.yml +45 -0
  24. data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +1 -1
  25. data/fixtures/vcr_cassettes/lib/events/get_channel_members.yml +1 -1
  26. data/fixtures/vcr_cassettes/lib/events/{get_memberships.yml → get_memberships1.yml} +1 -1
  27. data/fixtures/vcr_cassettes/lib/events/get_memberships2.yml +37 -0
  28. data/fixtures/vcr_cassettes/lib/events/{get_uuid_metadata.yml → get_uuid_metadata1.yml} +0 -0
  29. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata2.yml +76 -0
  30. data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +1 -1
  31. data/fixtures/vcr_cassettes/lib/events/{remove_memberships.yml → remove_memberships1.yml} +0 -0
  32. data/fixtures/vcr_cassettes/lib/events/remove_memberships2.yml +39 -0
  33. data/fixtures/vcr_cassettes/lib/events/{remove_uuid_metadata.yml → remove_uuid_metadata1.yml} +0 -0
  34. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata2.yml +76 -0
  35. data/fixtures/vcr_cassettes/lib/events/{set_memberships.yml → set_memberships1.yml} +0 -0
  36. data/fixtures/vcr_cassettes/lib/events/set_memberships2.yml +39 -0
  37. data/fixtures/vcr_cassettes/lib/events/{set_uuid_metadata.yml → set_uuid_metadata1.yml} +0 -0
  38. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata2.yml +78 -0
  39. data/lib/pubnub/client.rb +4 -1
  40. data/lib/pubnub/event.rb +3 -1
  41. data/lib/pubnub/events/add_channels_to_push.rb +29 -13
  42. data/lib/pubnub/events/get_all_channels_metadata.rb +13 -1
  43. data/lib/pubnub/events/get_all_uuid_metadata.rb +13 -1
  44. data/lib/pubnub/events/get_channel_members.rb +21 -1
  45. data/lib/pubnub/events/get_channel_metadata.rb +6 -1
  46. data/lib/pubnub/events/get_memberships.rb +22 -2
  47. data/lib/pubnub/events/get_uuid_metadata.rb +7 -2
  48. data/lib/pubnub/events/grant.rb +1 -1
  49. data/lib/pubnub/events/list_push_provisions.rb +29 -12
  50. data/lib/pubnub/events/remove_channel_members.rb +22 -2
  51. data/lib/pubnub/events/remove_channels_from_push.rb +29 -13
  52. data/lib/pubnub/events/remove_device_from_push.rb +30 -14
  53. data/lib/pubnub/events/remove_memberships.rb +23 -3
  54. data/lib/pubnub/events/remove_uuid_metadata.rb +1 -1
  55. data/lib/pubnub/events/set_channel_members.rb +21 -1
  56. data/lib/pubnub/events/set_channel_metadata.rb +6 -1
  57. data/lib/pubnub/events/set_memberships.rb +22 -2
  58. data/lib/pubnub/events/set_uuid_metadata.rb +7 -2
  59. data/lib/pubnub/formatter.rb +28 -1
  60. data/lib/pubnub/validators/add_channels_to_push.rb +52 -0
  61. data/lib/pubnub/validators/grant.rb +1 -1
  62. data/lib/pubnub/validators/list_push_provisions.rb +43 -0
  63. data/lib/pubnub/validators/remove_channels_from_push.rb +52 -0
  64. data/lib/pubnub/validators/remove_device_from_push.rb +43 -0
  65. data/lib/pubnub/version.rb +1 -1
  66. data/spec/examples/add_channels_to_push_spec.rb +178 -0
  67. data/spec/examples/{grant_examples_spec.rb → grant_examples_1_spec.rb} +0 -9009
  68. data/spec/examples/grant_examples_2_spec.rb +9107 -0
  69. data/spec/examples/list_push_provisions_spec.rb +164 -0
  70. data/spec/examples/presence_examples_spec.rb +222 -186
  71. data/spec/examples/remove_channels_from_push_spec.rb +164 -0
  72. data/spec/examples/remove_device_from_push_spec.rb +164 -0
  73. data/spec/examples/revoke_examples_1_spec.rb +27013 -0
  74. data/spec/examples/revoke_examples_2_spec.rb +27012 -0
  75. data/spec/examples/revoke_examples_3_spec.rb +17967 -0
  76. data/spec/examples/status_request_message_count_exceeded_spec.rb +4 -1
  77. data/spec/examples/subscribe_examples_1_spec.rb +26972 -0
  78. data/spec/examples/subscribe_examples_2_spec.rb +19575 -0
  79. data/spec/lib/connection_callback_spec.rb +4 -3
  80. data/spec/lib/events/membership_spec.rb +38 -11
  81. data/spec/lib/events/presence_delta_spec.rb +9 -6
  82. data/spec/lib/events/presence_spec.rb +13 -7
  83. data/spec/lib/events/subscribe_spec.rb +56 -32
  84. data/spec/lib/events/uuid_metadata_spec.rb +36 -6
  85. data/spec/lib/super_admin_spec.rb +8 -4
  86. data/spec/spec_helper.rb +23 -7
  87. metadata +53 -15
  88. data/lib/pubnub/validators/push.rb +0 -43
  89. data/spec/examples/revoke_examples_spec.rb +0 -71950
  90. data/spec/examples/subscribe_examples_spec.rb +0 -45184
@@ -0,0 +1,45 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ps.pndsn.com/v2/push/sub-key/sub-a-mock-key/devices-apns2/815ee724ccb0a6a84dc303be8ccbaa00d1c84dde6bcae6721b08f92100951113/remove?auth=ruby-test-auth-client-one&environment=production&pnsdk=PubNub-Ruby/4.4.0&topic=ruby_test&uuid=ruby-test-uuid-client-one
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - HTTPClient/1.0 (2.8.3, ruby 2.6.6 (2020-03-31))
12
+ Accept:
13
+ - "*/*"
14
+ Date:
15
+ - Tue, 17 Nov 2020 20:35:54 GMT
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 17 Nov 2020 20:35:54 GMT
23
+ Content-Type:
24
+ - text/javascript; charset="UTF-8"
25
+ Content-Length:
26
+ - '21'
27
+ Connection:
28
+ - keep-alive
29
+ Cache-Control:
30
+ - no-cache
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, DELETE, OPTIONS
35
+ Accept-Ranges:
36
+ - bytes
37
+ Age:
38
+ - '0'
39
+ Server:
40
+ - Pubnub
41
+ body:
42
+ encoding: UTF-8
43
+ string: '[1, "Removed Device"]'
44
+ recorded_at: Tue, 17 Nov 2020 20:35:54 GMT
45
+ recorded_with: VCR 6.0.0
@@ -34,6 +34,6 @@ http_interactions:
34
34
  - 'true'
35
35
  body:
36
36
  encoding: UTF-8
37
- string: '{"status":200,"data":[{"id":"[\"rb_channel\"]","name":"some_name","description":null,"custom":{"XXX":"YYYY"},"updated":"2020-10-13T11:43:29.824332Z","eTag":"AZTUtcvx6NDGLQ"},{"id":"rb_channel","name":"some_name","description":null,"custom":{"XXX":"YYYY"},"updated":"2020-10-13T12:38:14.839088Z","eTag":"AZTUtcvx6NDGLQ"}],"totalCount":2,"next":"Mg"}'
37
+ string: '{"status":200,"data":[{"id":"rb_channel1","name":"some_name","description":null,"custom":{"XXX":"YYYY"},"updated":"2020-10-13T11:43:29.824332Z","eTag":"AZTUtcvx6NDGLQ"},{"id":"rb_channel2","name":"some_name","description":null,"custom":{"XXX":"YYYY"},"updated":"2020-10-13T12:38:14.839088Z","eTag":"AZTUtcvx6NDGLQ"}],"totalCount":2,"next":"Mg"}'
38
38
  recorded_at: Tue, 13 Oct 2020 12:44:30 GMT
39
39
  recorded_with: VCR 6.0.0
@@ -32,6 +32,6 @@ http_interactions:
32
32
  - 'true'
33
33
  body:
34
34
  encoding: UTF-8
35
- string: '{"status":200,"data":[],"totalCount":0}'
35
+ string: '{"status":200,"data":[{"uuid":{"id":"Shannon-uuid-identifier","name":"Shannon","externalId":null,"profileUrl":null,"email":null,"custom":{"uuid-custom1":"Shannon-custom-data-1","uuid-custom2":"Shannon-custom-data-2"},"updated":"2020-06-04T19:24:15.920189Z","eTag":"AYfwuq+u+4C01gE"},"updated":"2020-06-04T19:24:17.019024Z","eTag":"AY39mJKK//C0VA"},{"uuid":{"id":"Serhii-uuid-identifier","name":"Serhii","externalId":null,"profileUrl":null,"email":null,"custom":{"uuid-custom1":"Serhii-custom-data-1","uuid-custom2":"Serhii-custom-data-2"},"updated":"2020-06-04T19:24:15.639553Z","eTag":"AaLZ9JDs49iFGQ"},"updated":"2020-06-04T19:24:17.004471Z","eTag":"AY39mJKK//C0VA"},{"uuid":{"id":"Nicolas-uuid-identifier","name":"Nicolas","externalId":null,"profileUrl":null,"email":null,"custom":{"uuid-custom1":"Nicolas-custom-data-1","uuid-custom2":"Nicolas-custom-data-2"},"updated":"2020-06-04T19:24:15.862856Z","eTag":"AcWovc2c15T90QE"},"updated":"2020-06-04T19:24:17.014445Z","eTag":"AY39mJKK//C0VA"},{"uuid":{"id":"Kim-uuid-identifier","name":"Kim","externalId":null,"profileUrl":null,"email":null,"custom":{"uuid-custom1":"Kim-custom-data-1","uuid-custom2":"Kim-custom-data-2"},"updated":"2020-06-04T19:24:15.694016Z","eTag":"AZG+jc/h/qmHWQ"},"updated":"2020-06-04T19:24:17.007697Z","eTag":"AY39mJKK//C0VA"},{"uuid":{"id":"Glen-uuid-identifier","name":"Glen","externalId":null,"profileUrl":null,"email":null,"custom":{"uuid-custom1":"Glen-custom-data-1","uuid-custom2":"Glen-custom-data-2"},"updated":"2020-06-04T19:24:15.806331Z","eTag":"AfKD2vfM26W5/QE"},"updated":"2020-06-04T19:24:17.011079Z","eTag":"AY39mJKK//C0VA"},{"uuid":{"id":"Earline-uuid-identifier","name":"Earline","externalId":null,"profileUrl":null,"email":null,"custom":{"uuid-custom1":"Earline-custom-data-1","uuid-custom2":"Earline-custom-data-2"},"updated":"2020-06-04T19:24:15.751415Z","eTag":"AamtqbjDqbu8cA"},"updated":"2020-06-04T19:24:16.999505Z","eTag":"AY39mJKK//C0VA"}],"totalCount":6,"next":"Ng"}'
36
36
  recorded_at: Mon, 12 Oct 2020 20:13:10 GMT
37
37
  recorded_with: VCR 6.0.0
@@ -32,6 +32,6 @@ http_interactions:
32
32
  - 'true'
33
33
  body:
34
34
  encoding: UTF-8
35
- string: '{"status":200,"data":[],"totalCount":0}'
35
+ string: '{"status":200,"data":[{"channel":{"id":"Chipper-channel-identifier"},"custom":{"uuid-membership-custom":"Chipper-channel-identifier-custom-data-2"},"updated":"2020-06-04T19:45:25.348644Z","eTag":"AYbepevg39XeDA"},{"channel":{"id":"Chanted-channel-identifier"},"custom":{"uuid-membership-custom":"Chanted-channel-identifier-custom-data-1"},"updated":"2020-06-04T19:45:25.357451Z","eTag":"AfW7hbzWi7rIzQE"}],"next":"Mg"}'
36
36
  recorded_at: Sun, 11 Oct 2020 21:33:13 GMT
37
37
  recorded_with: VCR 6.0.0
@@ -0,0 +1,37 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ps.pndsn.com/v2/objects/sub-a-mock-key/uuids/ruby-test-uuid/channels?auth=ruby-test-auth&count=1&include=custom&pnsdk=PubNub-Ruby/4.2.7&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
+ - Sun, 11 Oct 2020 21:33:13 GMT
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Mon, 12 Oct 2020 20:13:10 GMT
23
+ Content-Type:
24
+ - application/json
25
+ Content-Length:
26
+ - '39'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Credentials:
32
+ - 'true'
33
+ body:
34
+ encoding: UTF-8
35
+ string: '{"status":200,"data":[{"channel":{"id":"Chipper-channel-identifier","name":"Chipper","description":null,"custom":{"channel-custom1":"Chipper-custom-data-1","channel-custom2":"Chipper-custom-data-2"},"updated":"2020-06-04T19:45:29.518024Z","eTag":"AbWInIeG0uyo0gE"},"updated":"2020-06-04T19:45:31.668193Z","eTag":"AY39mJKK//C0VA"}],"totalCount":1,"next":"MQ"}'
36
+ recorded_at: Sun, 11 Oct 2020 21:33:13 GMT
37
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,76 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ps.pndsn.com/v2/auth/grant/sub-key/sub-a-mock-key?auth=ruby-test-auth,ruby-test-auth2&g=1&j=1&m=1&pnsdk=PubNub-Ruby/4.2.7&r=1&signature=v2.vOIJQ3_z4VCBfNg-2UyoMR6Z78weFmHXpcukiFDPgD8&target-uuid=ruby-test-uuid,ruby-test-uuid2&timestamp=1602594634&ttl=1440&u=1&uuid=ruby-test-uuid&w=1
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
+ - Tue, 13 Oct 2020 13:10:34 GMT
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 13 Oct 2020 13:10:34 GMT
23
+ Content-Type:
24
+ - text/javascript; charset=UTF-8
25
+ Content-Length:
26
+ - '475'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Methods:
32
+ - GET
33
+ Access-Control-Allow-Headers:
34
+ - Origin, X-Requested-With, Content-Type, Accept
35
+ Cache-Control:
36
+ - no-cache, no-store, must-revalidate
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"message":"Success","payload":{"level":"uuid","subscribe_key":"sub-a-mock-key","ttl":1440,"uuids":{"ruby-test-uuid":{"auths":{"ruby-test-auth":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1},"ruby-test-auth2":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1}}},"ruby-test-uuid2":{"auths":{"ruby-test-auth":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1},"ruby-test-auth2":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1}}}}},"service":"Access
40
+ Manager","status":200}'
41
+ recorded_at: Tue, 13 Oct 2020 13:10:34 GMT
42
+ - request:
43
+ method: get
44
+ uri: http://ps.pndsn.com/v2/objects/sub-a-mock-key/uuids/ruby-test-uuid?auth=ruby-test-auth&include=custom&pnsdk=PubNub-Ruby/4.2.7&signature=v2.lQaCwKyH8SrFsNVCay4CsaOZMvygJx0aovJFNrhzHQs&timestamp=1602594634&uuid=ruby-test-uuid
45
+ body:
46
+ encoding: UTF-8
47
+ string: ''
48
+ headers:
49
+ User-Agent:
50
+ - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
51
+ Accept:
52
+ - "*/*"
53
+ Date:
54
+ - Tue, 13 Oct 2020 13:10:34 GMT
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Date:
61
+ - Tue, 13 Oct 2020 13:10:34 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Content-Length:
65
+ - '187'
66
+ Connection:
67
+ - keep-alive
68
+ Access-Control-Allow-Origin:
69
+ - "*"
70
+ Access-Control-Allow-Credentials:
71
+ - 'true'
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"status":200,"data":{"id":"ruby-test-uuid","name":"magnum","externalId":null,"profileUrl":null,"email":null,"custom":{"XXX":"YYYY"},"updated":"2020-10-13T13:10:33.333845Z","eTag":"Ad2eyIWXwJzBqAE"}}'
75
+ recorded_at: Tue, 13 Oct 2020 13:10:34 GMT
76
+ recorded_with: VCR 6.0.0
@@ -73,6 +73,6 @@ http_interactions:
73
73
  - 'true'
74
74
  body:
75
75
  encoding: UTF-8
76
- string: '{"status":200,"data":[],"totalCount":0}'
76
+ string: '{"status":200,"data":[{"uuid":{"id":"Kim-uuid-identifier"},"custom":null,"updated":"2020-06-04T19:24:24.628902Z","eTag":"AY39mJKK//C0VA"}],"next":"MQ"}'
77
77
  recorded_at: Mon, 12 Oct 2020 20:57:50 GMT
78
78
  recorded_with: VCR 6.0.0
@@ -0,0 +1,39 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: patch
5
+ uri: http://ps.pndsn.com/v2/objects/sub-a-mock-key/uuids/ruby-test-uuid/channels?auth=ruby-test-auth&count=1&include=custom&pnsdk=PubNub-Ruby/4.2.7&signature=v2.dNLmNLzGLIOagE6fKai1HOCp392CQLPUfMvMPsnZ8-I&timestamp=1602536170&uuid=ruby-test-uuid
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"delete":[{"channel":{"id":"channel-1"}}]}'
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
+ - Mon, 12 Oct 2020 20:56:10 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
+ - Mon, 12 Oct 2020 20:56:11 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '39'
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":[],"totalCount":0}'
38
+ recorded_at: Mon, 12 Oct 2020 20:56:11 GMT
39
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,76 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ps.pndsn.com/v2/auth/grant/sub-key/sub-a-mock-key?auth=ruby-test-auth,ruby-test-auth2&g=1&j=1&m=1&pnsdk=PubNub-Ruby/4.2.7&r=1&signature=v2.vyHssDj6kPSky4RoTjaSXOGUDKZrn6wtax9iA32Ix38&target-uuid=ruby-test-uuid,ruby-test-uuid2&timestamp=1602594635&ttl=1440&u=1&uuid=ruby-test-uuid&w=1
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
+ - Tue, 13 Oct 2020 13:10:35 GMT
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 13 Oct 2020 13:10:35 GMT
23
+ Content-Type:
24
+ - text/javascript; charset=UTF-8
25
+ Content-Length:
26
+ - '475'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Methods:
32
+ - GET
33
+ Access-Control-Allow-Headers:
34
+ - Origin, X-Requested-With, Content-Type, Accept
35
+ Cache-Control:
36
+ - no-cache, no-store, must-revalidate
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"message":"Success","payload":{"level":"uuid","subscribe_key":"sub-a-mock-key","ttl":1440,"uuids":{"ruby-test-uuid":{"auths":{"ruby-test-auth":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1},"ruby-test-auth2":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1}}},"ruby-test-uuid2":{"auths":{"ruby-test-auth":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1},"ruby-test-auth2":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1}}}}},"service":"Access
40
+ Manager","status":200}'
41
+ recorded_at: Tue, 13 Oct 2020 13:10:35 GMT
42
+ - request:
43
+ method: delete
44
+ uri: http://ps.pndsn.com/v2/objects/sub-a-mock-key/uuids/ruby-test-uuid?auth=ruby-test-auth&pnsdk=PubNub-Ruby/4.2.7&signature=v2.FhxZheC60kWr0YofzeVfjsJN0ozHlKktyugsz1ZOW9I&timestamp=1602594635&uuid=ruby-test-uuid
45
+ body:
46
+ encoding: UTF-8
47
+ string: ''
48
+ headers:
49
+ User-Agent:
50
+ - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
51
+ Accept:
52
+ - "*/*"
53
+ Date:
54
+ - Tue, 13 Oct 2020 13:10:35 GMT
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Date:
61
+ - Tue, 13 Oct 2020 13:10:37 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Content-Length:
65
+ - '26'
66
+ Connection:
67
+ - keep-alive
68
+ Access-Control-Allow-Origin:
69
+ - "*"
70
+ Access-Control-Allow-Credentials:
71
+ - 'true'
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"status":200,"data":null}'
75
+ recorded_at: Tue, 13 Oct 2020 13:10:37 GMT
76
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,39 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: patch
5
+ uri: http://ps.pndsn.com/v2/objects/sub-a-mock-key/uuids/ruby-test-uuid/channels?auth=ruby-test-auth&count=1&include=custom&pnsdk=PubNub-Ruby/4.2.7&uuid=ruby-test-uuid
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"set":[{"channel":{"id":"channel-1"}}]}'
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 23:03:56 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
+ - Wed, 14 Oct 2020 23:03:56 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '159'
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":[{"channel":{"id":"channel-1"},"custom":null,"updated":"2020-10-14T23:03:56.826388Z","eTag":"AY39mJKK//C0VA"}],"totalCount":1,"next":"MQ"}'
38
+ recorded_at: Wed, 14 Oct 2020 23:03:56 GMT
39
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,78 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://ps.pndsn.com/v2/auth/grant/sub-key/sub-a-mock-key?auth=ruby-test-auth,ruby-test-auth2&g=1&j=1&m=1&pnsdk=PubNub-Ruby/4.2.7&r=1&signature=v2.hl2CMq_6oYJtD323BI0V5I_xh84a29Pq_CAcSEPKxa8&target-uuid=ruby-test-uuid,ruby-test-uuid2&timestamp=1602594632&ttl=1440&u=1&uuid=ruby-test-uuid&w=1
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
+ - Tue, 13 Oct 2020 13:10:32 GMT
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 13 Oct 2020 13:10:32 GMT
23
+ Content-Type:
24
+ - text/javascript; charset=UTF-8
25
+ Content-Length:
26
+ - '475'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Methods:
32
+ - GET
33
+ Access-Control-Allow-Headers:
34
+ - Origin, X-Requested-With, Content-Type, Accept
35
+ Cache-Control:
36
+ - no-cache, no-store, must-revalidate
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"message":"Success","payload":{"level":"uuid","subscribe_key":"sub-a-mock-key","ttl":1440,"uuids":{"ruby-test-uuid":{"auths":{"ruby-test-auth":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1},"ruby-test-auth2":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1}}},"ruby-test-uuid2":{"auths":{"ruby-test-auth":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1},"ruby-test-auth2":{"r":1,"w":1,"m":1,"d":0,"g":1,"u":1,"j":1}}}}},"service":"Access
40
+ Manager","status":200}'
41
+ recorded_at: Tue, 13 Oct 2020 13:10:32 GMT
42
+ - request:
43
+ method: patch
44
+ uri: http://ps.pndsn.com/v2/objects/sub-a-mock-key/uuids/ruby-test-uuid?auth=ruby-test-auth&include=1&pnsdk=PubNub-Ruby/4.2.7&signature=v2.xL1myJ1EozYQzxaQrCzfbOcAFPTctVp20mIyk_11Srw&timestamp=1602594632&uuid=ruby-test-uuid
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"name":"magnum","custom":{"XXX":"YYYY"}}'
48
+ headers:
49
+ User-Agent:
50
+ - HTTPClient/1.0 (2.8.3, ruby 2.6.3 (2019-04-16))
51
+ Accept:
52
+ - "*/*"
53
+ Date:
54
+ - Tue, 13 Oct 2020 13:10:32 GMT
55
+ Content-Type:
56
+ - application/x-www-form-urlencoded
57
+ response:
58
+ status:
59
+ code: 200
60
+ message: OK
61
+ headers:
62
+ Date:
63
+ - Tue, 13 Oct 2020 13:10:34 GMT
64
+ Content-Type:
65
+ - application/json
66
+ Content-Length:
67
+ - '163'
68
+ Connection:
69
+ - keep-alive
70
+ Access-Control-Allow-Origin:
71
+ - "*"
72
+ Access-Control-Allow-Credentials:
73
+ - 'true'
74
+ body:
75
+ encoding: UTF-8
76
+ string: '{"status":200,"data":{"id":"ruby-test-uuid","name":"magnum","externalId":null,"profileUrl":null,"email":null,"updated":"2020-10-13T13:10:33.333845Z","eTag":"Ad2eyIWXwJzBqAE"}}'
77
+ recorded_at: Tue, 13 Oct 2020 13:10:34 GMT
78
+ recorded_with: VCR 6.0.0
@@ -48,7 +48,10 @@ require 'pubnub/validators/time'
48
48
  require 'pubnub/validators/where_now'
49
49
  require 'pubnub/validators/delete'
50
50
  require 'pubnub/validators/message_counts'
51
- require 'pubnub/validators/push'
51
+ require 'pubnub/validators/add_channels_to_push'
52
+ require 'pubnub/validators/list_push_provisions'
53
+ require 'pubnub/validators/remove_channels_from_push'
54
+ require 'pubnub/validators/remove_device_from_push'
52
55
  require 'pubnub/validators/signal'
53
56
  require 'pubnub/validators/set_uuid_metadata'
54
57
  require 'pubnub/validators/set_channel_metadata'