pubnub 5.3.5 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|