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.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -0
- data/.pubnub.yml +168 -117
- data/.travis.yml +13 -9
- data/CHANGELOG.md +31 -8
- data/Gemfile.lock +67 -64
- data/README.md +56 -17
- data/VERSION +1 -1
- data/fixtures/vcr_cassettes/examples/add_channels_to_push/001.yml +45 -0
- data/fixtures/vcr_cassettes/examples/add_channels_to_push/002.yml +45 -0
- data/fixtures/vcr_cassettes/examples/add_channels_to_push/003.yml +45 -0
- data/fixtures/vcr_cassettes/examples/add_channels_to_push/004.yml +45 -0
- data/fixtures/vcr_cassettes/examples/grant/1913.yml +1 -1
- data/fixtures/vcr_cassettes/examples/grant/1944.yml +8 -9
- data/fixtures/vcr_cassettes/examples/grant/1945.yml +359 -9
- data/fixtures/vcr_cassettes/examples/grant/1946.yml +8 -9
- data/fixtures/vcr_cassettes/examples/grant/1947.yml +8 -9
- data/fixtures/vcr_cassettes/examples/grant/1948.yml +8 -9
- data/fixtures/vcr_cassettes/examples/history/100.yml +46 -0
- data/fixtures/vcr_cassettes/examples/history/include_meta__encrypted.yml +46 -0
- data/fixtures/vcr_cassettes/examples/history/include_token__encrypted.yml +45 -0
- data/fixtures/vcr_cassettes/examples/history/no_includes__encrypted.yml +45 -0
- data/fixtures/vcr_cassettes/examples/list_push_provisions/001.yml +46 -0
- data/fixtures/vcr_cassettes/examples/list_push_provisions/002.yml +45 -0
- data/fixtures/vcr_cassettes/examples/list_push_provisions/003.yml +45 -0
- data/fixtures/vcr_cassettes/examples/remove_channels_from_push/001.yml +45 -0
- data/fixtures/vcr_cassettes/examples/remove_channels_from_push/002.yml +45 -0
- data/fixtures/vcr_cassettes/examples/remove_channels_from_push/003.yml +45 -0
- data/fixtures/vcr_cassettes/examples/remove_device_from_push/001.yml +45 -0
- data/fixtures/vcr_cassettes/examples/remove_device_from_push/002.yml +45 -0
- data/fixtures/vcr_cassettes/examples/remove_device_from_push/003.yml +45 -0
- data/fixtures/vcr_cassettes/lib/events/get_all_channels_metadata.yml +39 -0
- data/fixtures/vcr_cassettes/lib/events/get_all_uuid_metadata.yml +76 -0
- data/fixtures/vcr_cassettes/lib/events/get_channel_members.yml +37 -0
- data/fixtures/vcr_cassettes/lib/events/get_channel_metadata.yml +37 -0
- data/fixtures/vcr_cassettes/lib/events/get_memberships1.yml +37 -0
- data/fixtures/vcr_cassettes/lib/events/get_memberships2.yml +37 -0
- data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata1.yml +76 -0
- data/fixtures/vcr_cassettes/lib/events/get_uuid_metadata2.yml +76 -0
- data/fixtures/vcr_cassettes/lib/events/grant-error.yml +2 -2
- data/fixtures/vcr_cassettes/lib/events/grant.yml +10 -11
- data/fixtures/vcr_cassettes/lib/events/remove_channel_members.yml +78 -0
- data/fixtures/vcr_cassettes/lib/events/{delete_space.yml → remove_channel_metadata.yml} +5 -6
- data/fixtures/vcr_cassettes/lib/events/{manage_memberships_remove.yml → remove_memberships1.yml} +8 -9
- data/fixtures/vcr_cassettes/lib/events/{manage_members_add.yml → remove_memberships2.yml} +8 -9
- data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata1.yml +76 -0
- data/fixtures/vcr_cassettes/lib/events/remove_uuid_metadata2.yml +76 -0
- data/fixtures/vcr_cassettes/lib/events/set_channel_members.yml +39 -0
- data/fixtures/vcr_cassettes/lib/events/set_channel_metadata.yml +39 -0
- data/fixtures/vcr_cassettes/lib/events/{manage_memberships_add.yml → set_memberships1.yml} +8 -9
- data/fixtures/vcr_cassettes/lib/events/set_memberships2.yml +39 -0
- data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata1.yml +78 -0
- data/fixtures/vcr_cassettes/lib/events/set_uuid_metadata2.yml +78 -0
- data/fixtures/vcr_cassettes/lib/events/{subscribe-space-delete-async.yml → subscribe-channel-metadata-remove-sync.yml} +12 -14
- data/fixtures/vcr_cassettes/lib/events/subscribe-channel-metadata-set-async.yml +75 -0
- data/fixtures/vcr_cassettes/lib/events/{subscribe-member-remove-async.yml → subscribe-member-remove-sync.yml} +12 -14
- data/fixtures/vcr_cassettes/lib/events/subscribe-member-set-async.yml +75 -0
- data/fixtures/vcr_cassettes/lib/events/subscribe-membership-remove-async.yml +12 -14
- data/fixtures/vcr_cassettes/lib/events/{subscribe-user-update-async.yml → subscribe-membership-set-async.yml} +12 -14
- data/fixtures/vcr_cassettes/lib/events/{subscribe-user-delete-async.yml → subscribe-uuid-metadata-remove-sync.yml} +12 -14
- data/fixtures/vcr_cassettes/lib/events/subscribe-uuid-metadata-set-async.yml +75 -0
- data/lib/pubnub/client.rb +18 -15
- data/lib/pubnub/client/events.rb +4 -2
- data/lib/pubnub/client/paged_history.rb +1 -1
- data/lib/pubnub/constants.rb +19 -18
- data/lib/pubnub/event.rb +32 -16
- data/lib/pubnub/event/formatter.rb +4 -0
- data/lib/pubnub/event/signature.rb +22 -7
- data/lib/pubnub/events/add_channels_to_push.rb +29 -13
- data/lib/pubnub/events/get_all_channels_metadata.rb +104 -0
- data/lib/pubnub/events/get_all_uuid_metadata.rb +104 -0
- data/lib/pubnub/events/get_channel_members.rb +120 -0
- data/lib/pubnub/events/{update_space.rb → get_channel_metadata.rb} +27 -27
- data/lib/pubnub/events/get_memberships.rb +120 -0
- data/lib/pubnub/events/{create_space.rb → get_uuid_metadata.rb} +27 -25
- data/lib/pubnub/events/grant.rb +10 -1
- data/lib/pubnub/events/history.rb +17 -2
- data/lib/pubnub/events/list_push_provisions.rb +29 -12
- data/lib/pubnub/events/remove_channel_members.rb +137 -0
- data/lib/pubnub/events/{delete_space.rb → remove_channel_metadata.rb} +12 -12
- data/lib/pubnub/events/remove_channels_from_push.rb +29 -13
- data/lib/pubnub/events/remove_device_from_push.rb +30 -14
- data/lib/pubnub/events/remove_memberships.rb +137 -0
- data/lib/pubnub/events/{delete_user.rb → remove_uuid_metadata.rb} +12 -12
- data/lib/pubnub/events/set_channel_members.rb +140 -0
- data/lib/pubnub/events/{manage_members.rb → set_channel_metadata.rb} +32 -38
- data/lib/pubnub/events/set_memberships.rb +140 -0
- data/lib/pubnub/events/{create_user.rb → set_uuid_metadata.rb} +33 -17
- data/lib/pubnub/formatter.rb +30 -3
- data/lib/pubnub/pam.rb +2 -11
- data/lib/pubnub/subscribe_callback.rb +1 -3
- data/lib/pubnub/subscribe_event/formatter.rb +26 -17
- data/lib/pubnub/subscriber.rb +5 -6
- data/lib/pubnub/validators/add_channels_to_push.rb +52 -0
- data/lib/pubnub/validators/get_all_channels_metadata.rb +29 -0
- data/lib/pubnub/validators/get_all_uuid_metadata.rb +29 -0
- data/lib/pubnub/validators/get_channel_members.rb +39 -0
- data/lib/pubnub/validators/get_channel_metadata.rb +39 -0
- data/lib/pubnub/validators/get_memberships.rb +39 -0
- data/lib/pubnub/validators/get_uuid_metadata.rb +39 -0
- data/lib/pubnub/validators/grant.rb +37 -2
- data/lib/pubnub/validators/list_push_provisions.rb +43 -0
- data/lib/pubnub/validators/remove_channel_members.rb +52 -0
- data/lib/pubnub/validators/remove_channel_metadata.rb +39 -0
- data/lib/pubnub/validators/remove_channels_from_push.rb +52 -0
- data/lib/pubnub/validators/remove_device_from_push.rb +43 -0
- data/lib/pubnub/validators/remove_memberships.rb +52 -0
- data/lib/pubnub/validators/remove_uuid_metadata.rb +39 -0
- data/lib/pubnub/validators/set_channel_members.rb +78 -0
- data/lib/pubnub/validators/set_channel_metadata.rb +62 -0
- data/lib/pubnub/validators/set_memberships.rb +78 -0
- data/lib/pubnub/validators/set_uuid_metadata.rb +62 -0
- data/lib/pubnub/version.rb +1 -1
- data/pubnub.gemspec +1 -1
- data/spec/examples/add_channels_to_push_spec.rb +178 -0
- data/spec/examples/{grant_examples_spec.rb → grant_examples_1_spec.rb} +0 -8973
- data/spec/examples/grant_examples_2_spec.rb +9107 -0
- data/spec/examples/history_examples_spec.rb +85 -0
- data/spec/examples/list_push_provisions_spec.rb +164 -0
- data/spec/examples/presence_examples_spec.rb +222 -186
- data/spec/examples/remove_channels_from_push_spec.rb +164 -0
- data/spec/examples/remove_device_from_push_spec.rb +164 -0
- data/spec/examples/revoke_examples_1_spec.rb +27013 -0
- data/spec/examples/revoke_examples_2_spec.rb +27012 -0
- data/spec/examples/revoke_examples_3_spec.rb +17967 -0
- data/spec/examples/status_request_message_count_exceeded_spec.rb +4 -1
- data/spec/examples/subscribe_examples_1_spec.rb +26972 -0
- data/spec/examples/subscribe_examples_2_spec.rb +19575 -0
- data/spec/lib/connection_callback_spec.rb +4 -3
- data/spec/lib/event/formatter_spec.rb +22 -0
- data/spec/lib/events/channel_metadata_spec.rb +58 -0
- data/spec/lib/events/grant_spec.rb +3 -2
- data/spec/lib/events/membership_spec.rb +51 -21
- data/spec/lib/events/presence_delta_spec.rb +9 -6
- data/spec/lib/events/presence_spec.rb +13 -7
- data/spec/lib/events/subscribe_spec.rb +102 -65
- data/spec/lib/events/uuid_metadata_spec.rb +86 -0
- data/spec/lib/subscribe_event/formatter_spec.rb +22 -0
- data/spec/lib/super_admin_spec.rb +8 -4
- data/spec/spec_helper.rb +24 -8
- metadata +124 -79
- data/fixtures/vcr_cassettes/lib/events/create_space.yml +0 -40
- data/fixtures/vcr_cassettes/lib/events/create_user.yml +0 -40
- data/fixtures/vcr_cassettes/lib/events/delete_user.yml +0 -38
- data/fixtures/vcr_cassettes/lib/events/get_members.yml +0 -38
- data/fixtures/vcr_cassettes/lib/events/get_space.yml +0 -38
- data/fixtures/vcr_cassettes/lib/events/get_space_memberships.yml +0 -38
- data/fixtures/vcr_cassettes/lib/events/get_spaces.yml +0 -40
- data/fixtures/vcr_cassettes/lib/events/get_user.yml +0 -38
- data/fixtures/vcr_cassettes/lib/events/get_users.yml +0 -40
- data/fixtures/vcr_cassettes/lib/events/manage_members_remove.yml +0 -83
- data/fixtures/vcr_cassettes/lib/events/subscribe-member-add-async.yml +0 -77
- data/fixtures/vcr_cassettes/lib/events/subscribe-membership-add-async.yml +0 -77
- data/fixtures/vcr_cassettes/lib/events/subscribe-space-update-async.yml +0 -77
- data/fixtures/vcr_cassettes/lib/events/update_space.yml +0 -40
- data/fixtures/vcr_cassettes/lib/events/update_user.yml +0 -40
- data/lib/pubnub/events/get_members.rb +0 -93
- data/lib/pubnub/events/get_space.rb +0 -74
- data/lib/pubnub/events/get_space_memberships.rb +0 -93
- data/lib/pubnub/events/get_spaces.rb +0 -90
- data/lib/pubnub/events/get_user.rb +0 -74
- data/lib/pubnub/events/get_users.rb +0 -90
- data/lib/pubnub/events/manage_memberships.rb +0 -105
- data/lib/pubnub/events/update_user.rb +0 -86
- data/lib/pubnub/validators/create_space.rb +0 -44
- data/lib/pubnub/validators/create_user.rb +0 -44
- data/lib/pubnub/validators/delete_space.rb +0 -32
- data/lib/pubnub/validators/delete_user.rb +0 -32
- data/lib/pubnub/validators/get_members.rb +0 -32
- data/lib/pubnub/validators/get_space.rb +0 -32
- data/lib/pubnub/validators/get_space_memberships.rb +0 -32
- data/lib/pubnub/validators/get_spaces.rb +0 -16
- data/lib/pubnub/validators/get_user.rb +0 -32
- data/lib/pubnub/validators/get_users.rb +0 -16
- data/lib/pubnub/validators/manage_members.rb +0 -45
- data/lib/pubnub/validators/manage_memberships.rb +0 -45
- data/lib/pubnub/validators/push.rb +0 -43
- data/lib/pubnub/validators/update_space.rb +0 -45
- data/lib/pubnub/validators/update_user.rb +0 -45
- data/spec/examples/revoke_examples_spec.rb +0 -71950
- data/spec/examples/subscribe_examples_spec.rb +0 -45184
- data/spec/lib/events/space_spec.rb +0 -75
- data/spec/lib/events/user_spec.rb +0 -75
@@ -0,0 +1,29 @@
|
|
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 GetAllChannelsMetadata event
|
8
|
+
module GetAllChannelsMetadata
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def validate_subscribe_key!
|
20
|
+
return unless @subscribe_key.nil?
|
21
|
+
|
22
|
+
raise(
|
23
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for get all channels metadata event.'),
|
24
|
+
':subscribe_key is required for get all channels metadata event.'
|
25
|
+
)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 GetAllUuidMetadata event
|
8
|
+
module GetAllUuidMetadata
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def validate_subscribe_key!
|
20
|
+
return unless @subscribe_key.nil?
|
21
|
+
|
22
|
+
raise(
|
23
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for get all uuid metadata event.'),
|
24
|
+
':subscribe_key is required for get all uuid metadata event.'
|
25
|
+
)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,39 @@
|
|
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 GetChannelMembers event
|
8
|
+
module GetChannelMembers
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
validate_channel!
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def validate_subscribe_key!
|
21
|
+
return unless @subscribe_key.nil?
|
22
|
+
|
23
|
+
raise(
|
24
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for get channel members event.'),
|
25
|
+
':subscribe_key is required for get channel members event.'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def validate_channel!
|
30
|
+
return unless @channel.nil? || @channel.empty?
|
31
|
+
|
32
|
+
raise(
|
33
|
+
ArgumentError.new(object: self, message: ':channel is required for get channel members event.'),
|
34
|
+
':channel is required for get channel members event.'
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
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 GetChannelMetadata event
|
8
|
+
module GetChannelMetadata
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
validate_channel!
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def validate_subscribe_key!
|
21
|
+
return unless @subscribe_key.nil?
|
22
|
+
|
23
|
+
raise(
|
24
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for get channel metadata event.'),
|
25
|
+
':subscribe_key is required for get channel metadata event.'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def validate_channel!
|
30
|
+
return unless @channel.nil? || @channel.empty?
|
31
|
+
|
32
|
+
raise(
|
33
|
+
ArgumentError.new(object: self, message: ':channel is required for get channel metadata event.'),
|
34
|
+
':channel is required for get channel metadata event.'
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
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 GetMemberships event
|
8
|
+
module GetMemberships
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
validate_uuid!
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def validate_subscribe_key!
|
21
|
+
return unless @subscribe_key.nil?
|
22
|
+
|
23
|
+
raise(
|
24
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for get memberships event.'),
|
25
|
+
':subscribe_key is required for get memberships event.'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def validate_uuid!
|
30
|
+
return unless @uuid.nil? || @uuid.empty?
|
31
|
+
|
32
|
+
raise(
|
33
|
+
ArgumentError.new(object: self, message: ':uuid is required for get memberships event.'),
|
34
|
+
':uuid is required for get memberships event.'
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
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 GetUuidMetadata event
|
8
|
+
module GetUuidMetadata
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
validate_uuid!
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def validate_subscribe_key!
|
21
|
+
return unless @subscribe_key.nil?
|
22
|
+
|
23
|
+
raise(
|
24
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for get uuid metadata event.'),
|
25
|
+
':subscribe_key is required for get uuid metadata event.'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def validate_uuid!
|
30
|
+
return unless @uuid.nil? || @uuid.empty?
|
31
|
+
|
32
|
+
raise(
|
33
|
+
ArgumentError.new(object: self, message: ':uuid is required for get uuid metadata event.'),
|
34
|
+
':uuid is required for get uuid metadata event.'
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -8,18 +8,53 @@ module Pubnub
|
|
8
8
|
|
9
9
|
def validate!
|
10
10
|
return if @skip_validate
|
11
|
+
|
12
|
+
validate_keys!
|
11
13
|
validate_ttl!
|
14
|
+
validate_uuids!
|
12
15
|
end
|
13
16
|
|
14
17
|
private
|
15
18
|
|
19
|
+
def validate_keys!
|
20
|
+
raise(
|
21
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for grant event.'),
|
22
|
+
':subscribe_key is required for grant event.'
|
23
|
+
) if @subscribe_key.nil? || @subscribe_key.empty?
|
24
|
+
|
25
|
+
raise(
|
26
|
+
ArgumentError.new(object: self, message: ':publish_key is required for grant event.'),
|
27
|
+
':publish_key is required for grant event.'
|
28
|
+
) if @publish_key.nil? || @publish_key.empty?
|
29
|
+
end
|
30
|
+
|
16
31
|
def validate_ttl!
|
17
32
|
return unless !@ttl.nil? && !@ttl.is_a?(Integer)
|
33
|
+
|
18
34
|
raise(
|
19
|
-
ArgumentError.new,
|
20
|
-
':ttl has to be kind of Integer'
|
35
|
+
ArgumentError.new(object: self, message: ':ttl has to be kind of Integer for grant event.'),
|
36
|
+
':ttl has to be kind of Integer for grant event.'
|
21
37
|
)
|
22
38
|
end
|
39
|
+
|
40
|
+
def validate_uuids!
|
41
|
+
return if @uuids.nil?
|
42
|
+
|
43
|
+
raise(
|
44
|
+
ArgumentError.new(object: self, message: ':uuid should not be empty for grant event.'),
|
45
|
+
':uuid should not be empty for grant event.'
|
46
|
+
) if @uuid.empty?
|
47
|
+
|
48
|
+
raise(
|
49
|
+
ArgumentError.new(object: self, message: ':auth_key required for grant event on uuids.'),
|
50
|
+
':uuid should not be empty for grant event on uuids.'
|
51
|
+
) if @auth_key.nil? || @auth_key.blank?
|
52
|
+
|
53
|
+
raise(
|
54
|
+
ArgumentError.new(object: self, message: ':uuid can\'t be used along with channel/channel_groups for grant event.'),
|
55
|
+
':uuid can\'t be used along with channel/channel_groups for grant event.'
|
56
|
+
) if !@channels.nil? || !@channel_groups.nil?
|
57
|
+
end
|
23
58
|
end
|
24
59
|
end
|
25
60
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Toplevel Pubnub module.
|
2
|
+
module Pubnub
|
3
|
+
# Validator module that holds all validators modules
|
4
|
+
module Validator
|
5
|
+
# Validator for ListPushProvisions event
|
6
|
+
module ListPushProvisions
|
7
|
+
include CommonValidator
|
8
|
+
|
9
|
+
def validate!
|
10
|
+
return if @skip_validate
|
11
|
+
validate_push_token!
|
12
|
+
validate_push_gateway!
|
13
|
+
validate_topic! if @push_gateway.eql? 'apns2'
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def validate_push_token!
|
19
|
+
return unless @push_token.nil? || @push_token.empty?
|
20
|
+
raise(
|
21
|
+
ArgumentError.new,
|
22
|
+
':push_token is required for ListPushProvisions event.'
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def validate_push_gateway!
|
27
|
+
return unless @push_gateway.nil? || @push_gateway.empty?
|
28
|
+
raise(
|
29
|
+
ArgumentError.new,
|
30
|
+
':push_gateway is required for ListPushProvisions event.'
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def validate_topic!
|
35
|
+
return unless @topic.nil? || @topic.empty?
|
36
|
+
raise(
|
37
|
+
ArgumentError.new,
|
38
|
+
':topic is required for ListPushProvisions event.'
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,52 @@
|
|
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 RemoveChannelMembers event
|
8
|
+
module RemoveChannelMembers
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
validate_channel!
|
16
|
+
validate_members!
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def validate_subscribe_key!
|
22
|
+
return unless @subscribe_key.nil?
|
23
|
+
|
24
|
+
raise(
|
25
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for remove channel members event.'),
|
26
|
+
':subscribe_key is required for remove channel members event.'
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
def validate_channel!
|
31
|
+
return unless @channel.nil? || @channel.empty?
|
32
|
+
|
33
|
+
raise(
|
34
|
+
ArgumentError.new(object: self, message: ':channel is required for remove channel members event.'),
|
35
|
+
':channel is required for remove channel members event.'
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
def validate_members!
|
40
|
+
raise(
|
41
|
+
ArgumentError.new(object: self, message: ':uuids is required for remove channel members event.'),
|
42
|
+
':uuids is required for remove channel members event.'
|
43
|
+
) if @uuids.nil? || @uuids.empty?
|
44
|
+
|
45
|
+
raise(
|
46
|
+
ArgumentError.new(object: self, message: ':uuids parameter for remove channel members must be Array.'),
|
47
|
+
':uuids parameter for remove channel members must be Array.'
|
48
|
+
) if @uuids.class != Array
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,39 @@
|
|
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 RemoveChannelMetadata event
|
8
|
+
module RemoveChannelMetadata
|
9
|
+
include CommonValidator
|
10
|
+
|
11
|
+
def validate!
|
12
|
+
return if @skip_validate
|
13
|
+
|
14
|
+
validate_subscribe_key!
|
15
|
+
validate_channel!
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def validate_subscribe_key!
|
21
|
+
return unless @subscribe_key.nil?
|
22
|
+
|
23
|
+
raise(
|
24
|
+
ArgumentError.new(object: self, message: ':subscribe_key is required for remove channel metadata event.'),
|
25
|
+
':subscribe_key is required for remove channel metadata event.'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def validate_channel!
|
30
|
+
return unless @channel.nil? || @channel.empty?
|
31
|
+
|
32
|
+
raise(
|
33
|
+
ArgumentError.new(object: self, message: ':channel is required for remove channel metadata event.'),
|
34
|
+
':channel is required for remove channel metadata event.'
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# Toplevel Pubnub module.
|
2
|
+
module Pubnub
|
3
|
+
# Validator module that holds all validators modules
|
4
|
+
module Validator
|
5
|
+
# Validator for RemoveChannelsFromPush event
|
6
|
+
module RemoveChannelsFromPush
|
7
|
+
include CommonValidator
|
8
|
+
|
9
|
+
def validate!
|
10
|
+
return if @skip_validate
|
11
|
+
validate_push_token!
|
12
|
+
validate_push_gateway!
|
13
|
+
validate_channel!
|
14
|
+
validate_topic! if @push_gateway.eql? 'apns2'
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def validate_push_token!
|
20
|
+
return unless @push_token.nil? || @push_token.empty?
|
21
|
+
raise(
|
22
|
+
ArgumentError.new,
|
23
|
+
':push_token is required for RemoveChannelsFromPush event.'
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
def validate_push_gateway!
|
28
|
+
return unless @push_gateway.nil? || @push_gateway.empty?
|
29
|
+
raise(
|
30
|
+
ArgumentError.new,
|
31
|
+
':push_gateway is required for RemoveChannelsFromPush event.'
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
def validate_channel!
|
36
|
+
return unless @channel.nil? || @channel.empty?
|
37
|
+
raise(
|
38
|
+
ArgumentError.new,
|
39
|
+
':channel is required for RemoveChannelsFromPush event.'
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
def validate_topic!
|
44
|
+
return unless @topic.nil? || @topic.empty?
|
45
|
+
raise(
|
46
|
+
ArgumentError.new,
|
47
|
+
':topic is required for RemoveChannelsFromPush event.'
|
48
|
+
)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|