pubnub 5.3.5 → 5.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/commands-handler.yml +1 -1
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/run-tests.yml +12 -8
- data/.github/workflows/run-validations.yml +2 -2
- data/.pubnub.yml +26 -4
- data/CHANGELOG.md +100 -82
- data/Gemfile +1 -0
- data/Gemfile.lock +18 -1
- data/VERSION +1 -1
- data/lib/pubnub/client/events.rb +10 -8
- data/lib/pubnub/client.rb +97 -96
- data/lib/pubnub/constants.rb +4 -1
- data/lib/pubnub/event.rb +28 -23
- data/lib/pubnub/events/fetch_messages.rb +128 -0
- data/lib/pubnub/events/get_all_channels_metadata.rb +13 -9
- data/lib/pubnub/events/get_all_uuid_metadata.rb +13 -9
- data/lib/pubnub/events/get_channel_members.rb +18 -15
- data/lib/pubnub/events/get_channel_metadata.rb +9 -5
- data/lib/pubnub/events/get_memberships.rb +18 -15
- data/lib/pubnub/events/get_uuid_metadata.rb +9 -5
- data/lib/pubnub/events/publish.rb +1 -0
- data/lib/pubnub/events/set_channel_members.rb +18 -13
- data/lib/pubnub/events/set_channel_metadata.rb +8 -4
- data/lib/pubnub/events/set_memberships.rb +18 -13
- data/lib/pubnub/events/set_uuid_metadata.rb +8 -4
- data/lib/pubnub/events/signal.rb +4 -0
- data/lib/pubnub/subscribe_event/formatter.rb +29 -16
- data/lib/pubnub/validators/fetch_messages.rb +41 -0
- data/lib/pubnub/validators/set_channel_metadata.rb +17 -13
- data/lib/pubnub/validators/set_uuid_metadata.rb +17 -13
- data/lib/pubnub/version.rb +1 -1
- metadata +8 -6
@@ -37,24 +37,28 @@ module Pubnub
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def validate_metadata!
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
if @metadata.nil? || @metadata.empty?
|
41
|
+
raise(
|
42
|
+
ArgumentError.new(object: self, message: ':metadata is required for set channel metadata event.'),
|
43
|
+
':metadata is required for set channel metadata event.'
|
44
|
+
)
|
45
|
+
end
|
44
46
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
47
|
+
if @metadata.class != Hash
|
48
|
+
raise(
|
49
|
+
ArgumentError.new(object: self, message: ':metadata parameter for set channel metadata must be Hash.'),
|
50
|
+
':metadata parameter for set channel metadata must be Hash.'
|
51
|
+
)
|
52
|
+
end
|
49
53
|
|
50
|
-
known_channel_metadata_fields = %w[name description
|
54
|
+
known_channel_metadata_fields = %w[name description type status custom]
|
51
55
|
|
52
56
|
@metadata.each_key do |field_name|
|
53
|
-
|
54
|
-
|
57
|
+
next if known_channel_metadata_fields.include?(field_name.to_s)
|
58
|
+
|
59
|
+
message = "Unknown channel metadata key: '#{field_name}'. Only following keys allowed: #{known_channel_metadata_fields.join(', ')}"
|
55
60
|
|
56
|
-
|
57
|
-
end
|
61
|
+
raise(ArgumentError.new(object: self, message: message), message)
|
58
62
|
end
|
59
63
|
end
|
60
64
|
end
|
@@ -37,24 +37,28 @@ module Pubnub
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def validate_metadata!
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
if @metadata.nil? || @metadata.empty?
|
41
|
+
raise(
|
42
|
+
ArgumentError.new(object: self, message: ':metadata is required for set uuid metadata event.'),
|
43
|
+
':metadata is required for set uuid metadata event.'
|
44
|
+
)
|
45
|
+
end
|
44
46
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
47
|
+
if @metadata.class != Hash
|
48
|
+
raise(
|
49
|
+
ArgumentError.new(object: self, message: ':metadata parameter for set uuid metadata must be Hash.'),
|
50
|
+
':metadata parameter for set uuid metadata must be Hash.'
|
51
|
+
)
|
52
|
+
end
|
49
53
|
|
50
|
-
known_uuid_metadata_fields = %w[name email externalId profileUrl
|
54
|
+
known_uuid_metadata_fields = %w[name email externalId profileUrl type status custom]
|
51
55
|
|
52
56
|
@metadata.each_key do |field_name|
|
53
|
-
|
54
|
-
|
57
|
+
next if known_uuid_metadata_fields.include?(field_name.to_s)
|
58
|
+
|
59
|
+
message = "Unknown uuid metadata key: '#{field_name}'. Only following keys allowed: #{known_uuid_metadata_fields.join(', ')}"
|
55
60
|
|
56
|
-
|
57
|
-
end
|
61
|
+
raise(ArgumentError.new(object: self, message: message), message)
|
58
62
|
end
|
59
63
|
end
|
60
64
|
end
|
data/lib/pubnub/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pubnub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PubNub
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -184,6 +184,7 @@ files:
|
|
184
184
|
- lib/pubnub/events/audit.rb
|
185
185
|
- lib/pubnub/events/channel_registration.rb
|
186
186
|
- lib/pubnub/events/delete_messages.rb
|
187
|
+
- lib/pubnub/events/fetch_messages.rb
|
187
188
|
- lib/pubnub/events/get_all_channels_metadata.rb
|
188
189
|
- lib/pubnub/events/get_all_uuid_metadata.rb
|
189
190
|
- lib/pubnub/events/get_channel_members.rb
|
@@ -251,6 +252,7 @@ files:
|
|
251
252
|
- lib/pubnub/validators/client.rb
|
252
253
|
- lib/pubnub/validators/common_validator.rb
|
253
254
|
- lib/pubnub/validators/delete.rb
|
255
|
+
- lib/pubnub/validators/fetch_messages.rb
|
254
256
|
- lib/pubnub/validators/get_all_channels_metadata.rb
|
255
257
|
- lib/pubnub/validators/get_all_uuid_metadata.rb
|
256
258
|
- lib/pubnub/validators/get_channel_members.rb
|
@@ -293,7 +295,7 @@ homepage: https://github.com/pubnub/ruby
|
|
293
295
|
licenses:
|
294
296
|
- LicenseRef-LICENSE.txt
|
295
297
|
metadata: {}
|
296
|
-
post_install_message:
|
298
|
+
post_install_message:
|
297
299
|
rdoc_options: []
|
298
300
|
require_paths:
|
299
301
|
- lib
|
@@ -308,8 +310,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
308
310
|
- !ruby/object:Gem::Version
|
309
311
|
version: '0'
|
310
312
|
requirements: []
|
311
|
-
rubygems_version: 3.
|
312
|
-
signing_key:
|
313
|
+
rubygems_version: 3.4.20
|
314
|
+
signing_key:
|
313
315
|
specification_version: 4
|
314
316
|
summary: PubNub Official Ruby gem.
|
315
317
|
test_files:
|