anycable-rails-core 1.5.0.rc.1 → 1.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e23407a3fe0b10d54fdb4c0b368f23df917dc5f901b821312c9464c37099c23d
|
4
|
+
data.tar.gz: ce1ea7b919210c7ea6a2d0098a5bf90141ce3910d57f17f9cbb116b96d93753f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 658fffc579a1ddea3001a6ed05f6b59dbe1f05f48ce27c70924cd0ae18b0d8c2bd4c3151b0ea82b52ea78f37e9217f2b80769683dadeba21b2f9f50b6588a566
|
7
|
+
data.tar.gz: c8982b7cae01bfdefa4c0bef71581b7de2b579a0471bf2ff32619c043e84710822026e9814682474e84c386880808d79a651db0d42ff68d0d7ae646630050522
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,13 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
-
## 1.5.0
|
5
|
+
## 1.5.0 (2024-04-01)
|
6
|
+
|
7
|
+
- Allow specifying the _whispering_ stream via `#stream_from(..., whisper: true)`. ([@palkan][])
|
8
|
+
|
9
|
+
You can use specify the stream to use for _whispering_ (client-initiated broadcasts) by adding `whisper: true` to the `#stream_from` (or `#stream_for`) method call.
|
10
|
+
|
11
|
+
NOTE: This feature is only supported when using AnyCable server and ignored otherwise.
|
6
12
|
|
7
13
|
- Support passing objects to `ActionCable.server.broadcast`. ([@palkan][])
|
8
14
|
|
@@ -22,12 +22,20 @@ ActionCable::Channel::Base.prepend(Module.new do
|
|
22
22
|
super unless anycabled?
|
23
23
|
end
|
24
24
|
|
25
|
-
def stream_from(broadcasting, _callback = nil, **)
|
25
|
+
def stream_from(broadcasting, _callback = nil, **opts)
|
26
|
+
whispering = opts.delete(:whisper)
|
26
27
|
return super unless anycabled?
|
27
28
|
|
28
29
|
broadcasting = String(broadcasting)
|
29
30
|
|
30
31
|
connection.anycable_socket.subscribe identifier, broadcasting
|
32
|
+
if whispering
|
33
|
+
connection.anycable_socket.whisper identifier, broadcasting
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def stream_for(model, callback = nil, **opts, &block)
|
38
|
+
stream_from(broadcasting_for(model), callback || block, **opts)
|
31
39
|
end
|
32
40
|
|
33
41
|
def stop_stream_from(broadcasting)
|
@@ -12,9 +12,10 @@ module AnyCable
|
|
12
12
|
return @#{name} if instance_variable_defined?(:@#{name})
|
13
13
|
return unless anycabled?
|
14
14
|
|
15
|
-
|
15
|
+
raw_val = __istate__["#{name}"]
|
16
|
+
val = raw_val.present? ? AnyCable::Serializer.deserialize(JSON.parse(raw_val)) : nil
|
16
17
|
|
17
|
-
@#{name} = val.
|
18
|
+
@#{name} = val.try(:with_indifferent_access) || val
|
18
19
|
end
|
19
20
|
|
20
21
|
def #{name}=(val)
|
@@ -11,7 +11,7 @@ module AnyCable
|
|
11
11
|
]
|
12
12
|
|
13
13
|
ActionCable::Channel::Base.prepend(Module.new do
|
14
|
-
def stream_from(broadcasting, callback = nil, coder: nil)
|
14
|
+
def stream_from(broadcasting, callback = nil, coder: nil, **)
|
15
15
|
if coder.present? && coder != ActiveSupport::JSON
|
16
16
|
raise AnyCable::CompatibilityError, "Custom coders are not supported by AnyCable"
|
17
17
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anycable-rails-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.0
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: anycable-core
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.5.0
|
19
|
+
version: 1.5.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.5.0
|
26
|
+
version: 1.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: actioncable
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,9 +129,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
129
|
version: '2.7'
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
|
-
- - "
|
132
|
+
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
134
|
+
version: '0'
|
135
135
|
requirements: []
|
136
136
|
rubygems_version: 3.4.20
|
137
137
|
signing_key:
|