y-rb_actioncable 0.1.2 → 0.1.3

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: 9aee5ffece065c56362b59a6f7514bbe4e6177d0ea2d782ec1e3bb485cd05a53
4
- data.tar.gz: 709e1c51409f66f3134049dbf555db7c6c94bab0f1a66a629d3174051c186f0b
3
+ metadata.gz: 2c1bd91dd64aefce65bac62b72f51bf0441e222fb5c865a45a3257addbc5f4dd
4
+ data.tar.gz: 48074bedce935ac2adabf6d4f34942bb1c2ba1f08e1d278c3004b508f1b0eedf
5
5
  SHA512:
6
- metadata.gz: b16e36125a01866c74585b92580a6391c86f264f44a8cfbd308da0edf48f9d9855f2e464b494c6286eed47a67f7f3655c405b5bd728304e5c6653948e5f03dfb
7
- data.tar.gz: d6463f08ecefb4ddfcb629e58cf6e385df9f090eefdf3a9bf1928327bb3bbaf67de8a90650e41e93a98fcaa483e0a75f05938d4f593f1a855e36123c58044ff2
6
+ metadata.gz: 7ecaf95ff7925f08a035e54f41290fb939f6ae40666af50d736771df103aa14b988b84cd08bbfbfa006320eac72d63f573d3afa1f172f51abcbf28c6b2a06a6c
7
+ data.tar.gz: 3a734d0f445edfc492901efe1219e72d39b9321e5e00fbe8f56a248882ff6822ab276d294dd219570d51dde8a14ee3f4baf6cb401db7adcd1790eaa4764ca0e6
data/README.md CHANGED
@@ -60,13 +60,8 @@ class SyncChannel < ApplicationCable::Channel
60
60
  include Y::Actioncable::Sync
61
61
 
62
62
  def subscribed
63
- stream_from("document-1", coder: ActiveSupport::JSON) do |message|
64
- # integrate updates in the y-rb document
65
- integrate(message)
66
- end
67
-
68
- # negotiate initial state with client
69
- initiate
63
+ # initiate sync & subscribe to updates, with optional persistence mechanism
64
+ sync_from("document-1")
70
65
  end
71
66
 
72
67
  def receive(message)
@@ -197,8 +197,7 @@ module Y
197
197
  # "issue_channel:id:1"
198
198
  def canonical_channel_key
199
199
  @canonical_channel_key ||= begin
200
- pairs = JSON.parse!(identifier)
201
- params_part = pairs.map do |k, v|
200
+ params_part = channel_identifier.map do |k, v|
202
201
  "#{k.to_s.parameterize}-#{v.to_s.parameterize}"
203
202
  end
204
203
 
@@ -257,6 +256,14 @@ module Y
257
256
  def doc
258
257
  @doc ||= Y::Doc.new
259
258
  end
259
+
260
+ private
261
+
262
+ def channel_identifier
263
+ return ["test", identifier] if Rails.env.test?
264
+
265
+ JSON.parse(identifier)
266
+ end
260
267
  end
261
268
  end
262
269
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Y
4
4
  module Actioncable
5
- VERSION = "0.1.2"
5
+ VERSION = "0.1.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: y-rb_actioncable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hannes Moser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-25 00:00:00.000000000 Z
11
+ date: 2023-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  requirements: []
99
- rubygems_version: 3.4.4
99
+ rubygems_version: 3.4.5
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: An ActionCable companion for Y.js clients.