pubnub 4.3.0 → 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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/.pubnub.yml +32 -24
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +1 -1
  6. data/VERSION +1 -1
  7. data/fixtures/vcr_cassettes/examples/grant/1913.yml +1 -1
  8. data/fixtures/vcr_cassettes/examples/grant/1945.yml +355 -4
  9. data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +39 -0
  10. data/fixtures/vcr_cassettes/lib/events/get_all_uuid_metadata.yml +76 -0
  11. data/fixtures/vcr_cassettes/lib/events/{get_space_memberships.yml → get_channel_members.yml} +5 -6
  12. data/fixtures/vcr_cassettes/lib/events/get_channel_metadata.yml +37 -0
  13. data/fixtures/vcr_cassettes/lib/events/{get_members.yml → get_memberships.yml} +10 -11
  14. data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata.yml +76 -0
  15. data/fixtures/vcr_cassettes/lib/events/grant-error.yml +2 -2
  16. data/fixtures/vcr_cassettes/lib/events/grant.yml +10 -11
  17. data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +78 -0
  18. data/fixtures/vcr_cassettes/lib/events/{delete_space.yml → remove_channel_metadata.yml} +5 -6
  19. data/fixtures/vcr_cassettes/lib/events/{manage_memberships_remove.yml → remove_memberships.yml} +8 -9
  20. data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata.yml +76 -0
  21. data/fixtures/vcr_cassettes/lib/events/set_channel_members.yml +39 -0
  22. data/fixtures/vcr_cassettes/lib/events/set_channel_metadata.yml +39 -0
  23. data/fixtures/vcr_cassettes/lib/events/{manage_members_add.yml → set_memberships.yml} +8 -9
  24. data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata.yml +78 -0
  25. data/fixtures/vcr_cassettes/lib/events/{subscribe-space-delete-async.yml → subscribe-channel-metadata-remove-sync.yml} +12 -14
  26. data/fixtures/vcr_cassettes/lib/events/subscribe-channel-metadata-set-async.yml +75 -0
  27. data/fixtures/vcr_cassettes/lib/events/{subscribe-member-remove-async.yml → subscribe-member-remove-sync.yml} +12 -14
  28. data/fixtures/vcr_cassettes/lib/events/subscribe-member-set-async.yml +75 -0
  29. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-remove-async.yml +12 -14
  30. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-update-async.yml → subscribe-membership-set-async.yml} +12 -14
  31. data/fixtures/vcr_cassettes/lib/events/{subscribe-user-delete-async.yml → subscribe-uuid-metadata-remove-sync.yml} +12 -14
  32. data/fixtures/vcr_cassettes/lib/events/subscribe-uuid-metadata-set-async.yml +75 -0
  33. data/lib/pubnub/client.rb +14 -14
  34. data/lib/pubnub/client/events.rb +4 -2
  35. data/lib/pubnub/constants.rb +19 -18
  36. data/lib/pubnub/event.rb +29 -15
  37. data/lib/pubnub/event/signature.rb +22 -7
  38. data/lib/pubnub/events/get_all_channels_metadata.rb +92 -0
  39. data/lib/pubnub/events/get_all_uuid_metadata.rb +92 -0
  40. data/lib/pubnub/events/get_channel_members.rb +100 -0
  41. data/lib/pubnub/events/{get_user.rb → get_channel_metadata.rb} +22 -15
  42. data/lib/pubnub/events/get_memberships.rb +100 -0
  43. data/lib/pubnub/events/{get_space.rb → get_uuid_metadata.rb} +22 -15
  44. data/lib/pubnub/events/grant.rb +9 -7
  45. data/lib/pubnub/events/remove_channel_members.rb +117 -0
  46. data/lib/pubnub/events/{delete_space.rb → remove_channel_metadata.rb} +12 -12
  47. data/lib/pubnub/events/remove_memberships.rb +117 -0
  48. data/lib/pubnub/events/{delete_user.rb → remove_uuid_metadata.rb} +12 -12
  49. data/lib/pubnub/events/set_channel_members.rb +120 -0
  50. data/lib/pubnub/events/{create_space.rb → set_channel_metadata.rb} +26 -16
  51. data/lib/pubnub/events/set_memberships.rb +120 -0
  52. data/lib/pubnub/events/{update_space.rb → set_uuid_metadata.rb} +27 -18
  53. data/lib/pubnub/pam.rb +2 -11
  54. data/lib/pubnub/subscribe_callback.rb +1 -3
  55. data/lib/pubnub/subscribe_event/formatter.rb +21 -17
  56. data/lib/pubnub/subscriber.rb +5 -6
  57. data/lib/pubnub/validators/get_all_channels_metadata.rb +29 -0
  58. data/lib/pubnub/validators/get_all_uuid_metadata.rb +29 -0
  59. data/lib/pubnub/validators/get_channel_members.rb +39 -0
  60. data/lib/pubnub/validators/get_channel_metadata.rb +39 -0
  61. data/lib/pubnub/validators/get_memberships.rb +39 -0
  62. data/lib/pubnub/validators/get_uuid_metadata.rb +39 -0
  63. data/lib/pubnub/validators/grant.rb +37 -2
  64. data/lib/pubnub/validators/remove_channel_members.rb +52 -0
  65. data/lib/pubnub/validators/remove_channel_metadata.rb +39 -0
  66. data/lib/pubnub/validators/remove_memberships.rb +52 -0
  67. data/lib/pubnub/validators/remove_uuid_metadata.rb +39 -0
  68. data/lib/pubnub/validators/set_channel_members.rb +78 -0
  69. data/lib/pubnub/validators/set_channel_metadata.rb +62 -0
  70. data/lib/pubnub/validators/set_memberships.rb +78 -0
  71. data/lib/pubnub/validators/set_uuid_metadata.rb +62 -0
  72. data/lib/pubnub/version.rb +1 -1
  73. data/spec/examples/grant_examples_spec.rb +2 -2
  74. data/spec/lib/events/channel_metadata_spec.rb +58 -0
  75. data/spec/lib/events/grant_spec.rb +3 -2
  76. data/spec/lib/events/membership_spec.rb +25 -22
  77. data/spec/lib/events/subscribe_spec.rb +58 -45
  78. data/spec/lib/events/uuid_metadata_spec.rb +56 -0
  79. data/spec/spec_helper.rb +1 -1
  80. metadata +55 -57
  81. data/fixtures/vcr_cassettes/lib/events/create_space.yml +0 -40
  82. data/fixtures/vcr_cassettes/lib/events/create_user.yml +0 -40
  83. data/fixtures/vcr_cassettes/lib/events/delete_user.yml +0 -38
  84. data/fixtures/vcr_cassettes/lib/events/get_space.yml +0 -38
  85. data/fixtures/vcr_cassettes/lib/events/get_spaces.yml +0 -40
  86. data/fixtures/vcr_cassettes/lib/events/get_user.yml +0 -38
  87. data/fixtures/vcr_cassettes/lib/events/get_users.yml +0 -40
  88. data/fixtures/vcr_cassettes/lib/events/manage_members_remove.yml +0 -83
  89. data/fixtures/vcr_cassettes/lib/events/manage_memberships_add.yml +0 -40
  90. data/fixtures/vcr_cassettes/lib/events/subscribe-member-add-async.yml +0 -77
  91. data/fixtures/vcr_cassettes/lib/events/subscribe-membership-add-async.yml +0 -77
  92. data/fixtures/vcr_cassettes/lib/events/subscribe-space-update-async.yml +0 -77
  93. data/fixtures/vcr_cassettes/lib/events/update_space.yml +0 -40
  94. data/fixtures/vcr_cassettes/lib/events/update_user.yml +0 -40
  95. data/lib/pubnub/events/create_user.rb +0 -84
  96. data/lib/pubnub/events/get_members.rb +0 -93
  97. data/lib/pubnub/events/get_space_memberships.rb +0 -93
  98. data/lib/pubnub/events/get_spaces.rb +0 -90
  99. data/lib/pubnub/events/get_users.rb +0 -90
  100. data/lib/pubnub/events/manage_members.rb +0 -105
  101. data/lib/pubnub/events/manage_memberships.rb +0 -105
  102. data/lib/pubnub/events/update_user.rb +0 -86
  103. data/lib/pubnub/validators/create_space.rb +0 -44
  104. data/lib/pubnub/validators/create_user.rb +0 -44
  105. data/lib/pubnub/validators/delete_space.rb +0 -32
  106. data/lib/pubnub/validators/delete_user.rb +0 -32
  107. data/lib/pubnub/validators/get_members.rb +0 -32
  108. data/lib/pubnub/validators/get_space.rb +0 -32
  109. data/lib/pubnub/validators/get_space_memberships.rb +0 -32
  110. data/lib/pubnub/validators/get_spaces.rb +0 -16
  111. data/lib/pubnub/validators/get_user.rb +0 -32
  112. data/lib/pubnub/validators/get_users.rb +0 -16
  113. data/lib/pubnub/validators/manage_members.rb +0 -45
  114. data/lib/pubnub/validators/manage_memberships.rb +0 -45
  115. data/lib/pubnub/validators/update_space.rb +0 -45
  116. data/lib/pubnub/validators/update_user.rb +0 -45
  117. data/spec/lib/events/space_spec.rb +0 -75
  118. data/spec/lib/events/user_spec.rb +0 -75
@@ -1,32 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for GetMembers event
8
- module GetMembers
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_space!
15
- end
16
-
17
- private
18
-
19
- def validate_space!
20
- return unless @space_id.nil?
21
-
22
- raise(
23
- ArgumentError.new(
24
- object: self,
25
- message: 'data: Provide space_id.'
26
- ),
27
- 'data: Provide space_id.'
28
- )
29
- end
30
- end
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for GetSpace event
8
- module GetSpace
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_space!
15
- end
16
-
17
- private
18
-
19
- def validate_space!
20
- return unless @space_id.nil?
21
-
22
- raise(
23
- ArgumentError.new(
24
- object: self,
25
- message: 'data: Provide space_id.'
26
- ),
27
- 'data: Provide space_id.'
28
- )
29
- end
30
- end
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for GetSpaceMemberships event
8
- module GetSpaceMemberships
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_user!
15
- end
16
-
17
- private
18
-
19
- def validate_user!
20
- return unless @user_id.nil?
21
-
22
- raise(
23
- ArgumentError.new(
24
- object: self,
25
- message: 'data: Provide user_id.'
26
- ),
27
- 'data: Provide user_id.'
28
- )
29
- end
30
- end
31
- end
32
- end
@@ -1,16 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for GetSpaces event
8
- module GetSpaces
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
- end
14
- end
15
- end
16
- end
@@ -1,32 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for GetUser event
8
- module GetUser
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_user!
15
- end
16
-
17
- private
18
-
19
- def validate_user!
20
- return unless @user_id.nil?
21
-
22
- raise(
23
- ArgumentError.new(
24
- object: self,
25
- message: 'data: Provide user_id.'
26
- ),
27
- 'data: Provide user_id.'
28
- )
29
- end
30
- end
31
- end
32
- end
@@ -1,16 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for GetUsers event
8
- module GetUsers
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
- end
14
- end
15
- end
16
- end
@@ -1,45 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for ManageMembers event
8
- module ManageMembers
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_space!
15
- validate_data!
16
- end
17
-
18
- private
19
-
20
- def validate_space!
21
- return unless @space_id.nil?
22
-
23
- raise(
24
- ArgumentError.new(
25
- object: self,
26
- message: 'data: Provide space_id.'
27
- ),
28
- 'data: Provide space_id.'
29
- )
30
- end
31
-
32
- def validate_data!
33
- return unless @data.nil?
34
-
35
- raise(
36
- ArgumentError.new(
37
- object: self,
38
- message: 'data: No data supplied.'
39
- ),
40
- 'data: No data supplied.'
41
- )
42
- end
43
- end
44
- end
45
- end
@@ -1,45 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for ManageMemberships event
8
- module ManageMemberships
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_user!
15
- validate_data!
16
- end
17
-
18
- private
19
-
20
- def validate_user!
21
- return unless @user_id.nil?
22
-
23
- raise(
24
- ArgumentError.new(
25
- object: self,
26
- message: 'data: Provide user_id.'
27
- ),
28
- 'data: Provide user_id.'
29
- )
30
- end
31
-
32
- def validate_data!
33
- return unless @data.nil?
34
-
35
- raise(
36
- ArgumentError.new(
37
- object: self,
38
- message: 'data: No data supplied.'
39
- ),
40
- 'data: No data supplied.'
41
- )
42
- end
43
- end
44
- end
45
- end
@@ -1,45 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for UpdateSpace event
8
- module UpdateSpace
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_space!
15
- validate_data!
16
- end
17
-
18
- private
19
-
20
- def validate_space!
21
- return unless @space_id.nil?
22
-
23
- raise(
24
- ArgumentError.new(
25
- object: self,
26
- message: 'data: Provide space_id.'
27
- ),
28
- 'data: Provide space_id.'
29
- )
30
- end
31
-
32
- def validate_data!
33
- return unless @data.nil?
34
-
35
- raise(
36
- ArgumentError.new(
37
- object: self,
38
- message: 'data: No data supplied.'
39
- ),
40
- 'data: No data supplied.'
41
- )
42
- end
43
- end
44
- end
45
- end
@@ -1,45 +0,0 @@
1
- # Toplevel Pubnub module.
2
- # frozen_string_literal: true
3
-
4
- module Pubnub
5
- # Validator module that holds all validators modules
6
- module Validator
7
- # Validator for UpdateUser event
8
- module UpdateUser
9
- include CommonValidator
10
-
11
- def validate!
12
- return if @skip_validate
13
-
14
- validate_user!
15
- validate_data!
16
- end
17
-
18
- private
19
-
20
- def validate_user!
21
- return unless @user_id.nil?
22
-
23
- raise(
24
- ArgumentError.new(
25
- object: self,
26
- message: 'data: Provide user_id.'
27
- ),
28
- 'data: Provide user_id.'
29
- )
30
- end
31
-
32
- def validate_data!
33
- return unless @data.nil?
34
-
35
- raise(
36
- ArgumentError.new(
37
- object: self,
38
- message: 'data: No data supplied.'
39
- ),
40
- 'data: No data supplied.'
41
- )
42
- end
43
- end
44
- end
45
- end
@@ -1,75 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Pubnub::CreateSpace do
4
- it_behaves_like "an event"
5
-
6
- context "given basic parameters" do
7
- before :each do
8
- @pubnub = Pubnub::Client.new(
9
- subscribe_key: "demo",
10
- publish_key: "demo",
11
- auth_key: "ruby-test-auth",
12
- uuid: "ruby-test-uuid",
13
- )
14
- end
15
- it "create_space_works" do
16
- VCR.use_cassette("lib/events/create_space", record: :once) do
17
- envelope = @pubnub.create_space(data:{
18
- id: "rb_space",
19
- name: "some_name",
20
- custom: {
21
- XXX: "YYYY"
22
- }
23
- }, include: "custom").value
24
-
25
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
26
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
27
- end
28
- end
29
-
30
- it "update_space_works" do
31
- VCR.use_cassette("lib/events/update_space", record: :once) do
32
- envelope = @pubnub.update_space(space_id: "rb_space",
33
- data:{
34
- id: "rb_space",
35
- name: "new_name",
36
- custom: {
37
- XXX: "YYYY"
38
- }
39
- }, include: "custom").value
40
-
41
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
42
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
43
- end
44
- end
45
-
46
- it "get_space_works" do
47
- VCR.use_cassette("lib/events/get_space", record: :once) do
48
- envelope = @pubnub.get_space(space_id: "rb_space", include: "custom").value
49
-
50
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
51
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
52
- end
53
- end
54
-
55
- it "get_spaces_works" do
56
- VCR.use_cassette("lib/events/get_spaces", record: :once) do
57
- envelope = @pubnub.get_spaces(limit: 5, include: "custom").value
58
-
59
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
60
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
61
- end
62
- end
63
-
64
- it "delete_space_works" do
65
- VCR.use_cassette("lib/events/delete_space", record: :once) do
66
- envelope = @pubnub.delete_space(space_id: "rb_space").value
67
-
68
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
69
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
70
- end
71
- end
72
-
73
- end
74
-
75
- end
@@ -1,75 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Pubnub::CreateUser do
4
- it_behaves_like "an event"
5
-
6
- context "given basic parameters" do
7
- before :each do
8
- @pubnub = Pubnub::Client.new(
9
- subscribe_key: "demo",
10
- publish_key: "demo",
11
- auth_key: "ruby-test-auth",
12
- uuid: "ruby-test-uuid",
13
- )
14
- end
15
- it "create_user_works" do
16
- VCR.use_cassette("lib/events/create_user", record: :once) do
17
- envelope = @pubnub.create_user(data:{
18
- id: "mg",
19
- name: "magnum",
20
- custom: {
21
- XXX: "YYYY"
22
- }
23
- }, include: "custom").value
24
-
25
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
26
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
27
- end
28
- end
29
-
30
- it "update_user_works" do
31
- VCR.use_cassette("lib/events/update_user", record: :once) do
32
- envelope = @pubnub.update_user(user_id: "mg",
33
- data:{
34
- id: "mg",
35
- name: "magnum_1",
36
- custom: {
37
- XXX: "YYYY"
38
- }
39
- }, include: "custom").value
40
-
41
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
42
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
43
- end
44
- end
45
-
46
- it "get_user_works" do
47
- VCR.use_cassette("lib/events/get_user", record: :once) do
48
- envelope = @pubnub.get_user(user_id: "mg", include: "custom").value
49
-
50
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
51
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
52
- end
53
- end
54
-
55
- it "get_users_works" do
56
- VCR.use_cassette("lib/events/get_users", record: :once) do
57
- envelope = @pubnub.get_users(limit: 5, include: "custom").value
58
-
59
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
60
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
61
- end
62
- end
63
-
64
- it "delete_user_works" do
65
- VCR.use_cassette("lib/events/delete_user", record: :once) do
66
- envelope = @pubnub.delete_user(user_id: "mg").value
67
-
68
- expect(envelope.result).to satisfies_schema Pubnub::Schemas::Envelope::ResultSchema.new
69
- expect(envelope.status).to satisfies_schema Pubnub::Schemas::Envelope::StatusSchema.new
70
- end
71
- end
72
-
73
- end
74
-
75
- end