cable_ready 5.0.3 → 5.0.6
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/Gemfile.lock +12 -9
- data/app/assets/javascripts/cable_ready.js +18 -17
- data/app/assets/javascripts/cable_ready.umd.js +18 -17
- data/cable_ready.gemspec +1 -0
- data/lib/cable_ready/channels.rb +10 -2
- data/lib/cable_ready/installer.rb +196 -169
- data/lib/cable_ready/version.rb +1 -1
- data/lib/install/action_cable.rb +29 -29
- data/lib/install/broadcaster.rb +13 -13
- data/lib/install/bundle.rb +9 -9
- data/lib/install/compression.rb +7 -7
- data/lib/install/config.rb +17 -17
- data/lib/install/development.rb +6 -6
- data/lib/install/esbuild.rb +28 -28
- data/lib/install/importmap.rb +25 -25
- data/lib/install/initializers.rb +2 -2
- data/lib/install/mrujs.rb +22 -22
- data/lib/install/npm_packages.rb +4 -4
- data/lib/install/shakapacker.rb +21 -21
- data/lib/install/spring.rb +7 -7
- data/lib/install/updatable.rb +7 -7
- data/lib/install/vite.rb +21 -21
- data/lib/install/webpacker.rb +22 -22
- data/lib/install/yarn.rb +9 -9
- data/package.json +13 -13
- data/web-test-runner.config.mjs +14 -0
- data/yarn.lock +2396 -1942
- metadata +17 -8
- data/app/assets/javascripts/cable_ready.min.js +0 -2
- data/app/assets/javascripts/cable_ready.min.js.map +0 -1
- data/app/assets/javascripts/cable_ready.umd.min.js +0 -2
- data/app/assets/javascripts/cable_ready.umd.min.js.map +0 -1
- data/cable_ready.gemspec~ +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bfdb61c248f1ee53c44e4075c76c592526577edb8b77c917bd356d43bfbe4da
|
4
|
+
data.tar.gz: 2b8278d08827c1904d96e31c4f3ca5557371cb535fda0d9381a887c24f0a0cc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ca0ef3387fbf32a119fec3ea98f7b763c40e8fc45f2f76887e7d8bbff2c7b444cee0e6f3d1d46acace498a934fe797376ab084fb51c41d5d40f8805c4467080
|
7
|
+
data.tar.gz: 179cd66c5df25fcb6dd96cd5f432ff52304c49b0a35817fc589c7c64eb4ace74787fd0f3540b780e63122e52bc1f02cd367e872136248d0d2b4c723bb93a8c6f
|
data/Gemfile.lock
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cable_ready (5.0.
|
4
|
+
cable_ready (5.0.5)
|
5
5
|
actionpack (>= 5.2)
|
6
6
|
actionview (>= 5.2)
|
7
7
|
activesupport (>= 5.2)
|
8
|
+
observer (~> 0.1)
|
8
9
|
railties (>= 5.2)
|
9
10
|
thread-local (>= 1.1.0)
|
10
11
|
|
@@ -95,6 +96,7 @@ GEM
|
|
95
96
|
marcel (1.0.2)
|
96
97
|
method_source (1.0.0)
|
97
98
|
mini_mime (1.1.2)
|
99
|
+
mini_portile2 (2.8.8)
|
98
100
|
minitest (5.17.0)
|
99
101
|
mocha (2.0.2)
|
100
102
|
ruby2_keywords (>= 0.0.5)
|
@@ -107,13 +109,14 @@ GEM
|
|
107
109
|
timeout
|
108
110
|
net-smtp (0.3.3)
|
109
111
|
net-protocol
|
110
|
-
nio4r (2.
|
111
|
-
nokogiri (1.
|
112
|
+
nio4r (2.7.4)
|
113
|
+
nokogiri (1.17.2-arm64-darwin)
|
112
114
|
racc (~> 1.4)
|
113
|
-
nokogiri (1.
|
115
|
+
nokogiri (1.17.2-x86_64-darwin)
|
114
116
|
racc (~> 1.4)
|
115
|
-
nokogiri (1.
|
117
|
+
nokogiri (1.17.2-x86_64-linux)
|
116
118
|
racc (~> 1.4)
|
119
|
+
observer (0.1.2)
|
117
120
|
parallel (1.22.1)
|
118
121
|
parser (3.2.1.0)
|
119
122
|
ast (~> 2.4.1)
|
@@ -122,7 +125,7 @@ GEM
|
|
122
125
|
method_source (~> 1.0)
|
123
126
|
pry-nav (1.0.0)
|
124
127
|
pry (>= 0.9.10, < 0.15)
|
125
|
-
racc (1.
|
128
|
+
racc (1.8.1)
|
126
129
|
rack (2.2.6.4)
|
127
130
|
rack-test (2.0.2)
|
128
131
|
rack (>= 1.3)
|
@@ -180,9 +183,8 @@ GEM
|
|
180
183
|
actionpack (>= 5.2)
|
181
184
|
activesupport (>= 5.2)
|
182
185
|
sprockets (>= 3.0.0)
|
183
|
-
sqlite3 (1.6.0
|
184
|
-
|
185
|
-
sqlite3 (1.6.0-x86_64-linux)
|
186
|
+
sqlite3 (1.6.0)
|
187
|
+
mini_portile2 (~> 2.8.0)
|
186
188
|
standard (1.19.1)
|
187
189
|
language_server-protocol (~> 3.17.0.2)
|
188
190
|
rubocop (= 1.39.0)
|
@@ -204,6 +206,7 @@ PLATFORMS
|
|
204
206
|
arm64-darwin-22
|
205
207
|
x86_64-darwin-19
|
206
208
|
x86_64-darwin-22
|
209
|
+
x86_64-darwin-23
|
207
210
|
x86_64-linux
|
208
211
|
|
209
212
|
DEPENDENCIES
|
@@ -2,7 +2,7 @@ import morphdom from "morphdom";
|
|
2
2
|
|
3
3
|
var name = "cable_ready";
|
4
4
|
|
5
|
-
var version = "5.0.
|
5
|
+
var version = "5.0.6";
|
6
6
|
|
7
7
|
var description = "CableReady helps you create great real-time user experiences by making it simple to trigger client-side DOM changes from server-side Ruby.";
|
8
8
|
|
@@ -48,19 +48,19 @@ var dependencies = {
|
|
48
48
|
};
|
49
49
|
|
50
50
|
var devDependencies = {
|
51
|
-
"@open-wc/testing": "^
|
52
|
-
"@rollup/plugin-json": "^6.
|
53
|
-
"@rollup/plugin-node-resolve": "^15.0
|
54
|
-
"@rollup/plugin-terser": "^0.4.
|
55
|
-
"@web/dev-server-esbuild": "^0.3
|
56
|
-
"@web/dev-server-rollup": "^0.
|
57
|
-
"@web/test-runner": "^0.
|
51
|
+
"@open-wc/testing": "^4.0.0",
|
52
|
+
"@rollup/plugin-json": "^6.1.0",
|
53
|
+
"@rollup/plugin-node-resolve": "^15.3.0",
|
54
|
+
"@rollup/plugin-terser": "^0.4.4",
|
55
|
+
"@web/dev-server-esbuild": "^1.0.3",
|
56
|
+
"@web/dev-server-rollup": "^0.6.4",
|
57
|
+
"@web/test-runner": "^0.19.0",
|
58
58
|
"prettier-standard": "^16.4.1",
|
59
|
-
rollup: "^
|
60
|
-
sinon: "^
|
61
|
-
vite: "^4.
|
62
|
-
vitepress: "^1.
|
63
|
-
"vitepress-plugin-search": "^1.0.4-alpha.
|
59
|
+
rollup: "^4.25.0",
|
60
|
+
sinon: "^19.0.2",
|
61
|
+
vite: "^5.4.10",
|
62
|
+
vitepress: "^1.5.0",
|
63
|
+
"vitepress-plugin-search": "^1.0.4-alpha.22"
|
64
64
|
};
|
65
65
|
|
66
66
|
var packageInfo = {
|
@@ -822,7 +822,7 @@ var OperationStore = {
|
|
822
822
|
|
823
823
|
let missingElement = "warn";
|
824
824
|
|
825
|
-
var MissingElement
|
825
|
+
var MissingElement = {
|
826
826
|
get behavior() {
|
827
827
|
return missingElement;
|
828
828
|
},
|
@@ -832,7 +832,7 @@ var MissingElement$1 = {
|
|
832
832
|
};
|
833
833
|
|
834
834
|
const perform = (operations, options = {
|
835
|
-
onMissingElement: MissingElement
|
835
|
+
onMissingElement: MissingElement.behavior
|
836
836
|
}) => {
|
837
837
|
const batches = {};
|
838
838
|
operations.forEach((operation => {
|
@@ -891,7 +891,7 @@ const perform = (operations, options = {
|
|
891
891
|
};
|
892
892
|
|
893
893
|
const performAsync = (operations, options = {
|
894
|
-
onMissingElement: MissingElement
|
894
|
+
onMissingElement: MissingElement.behavior
|
895
895
|
}) => new Promise(((resolve, reject) => {
|
896
896
|
try {
|
897
897
|
resolve(perform(operations, options));
|
@@ -974,7 +974,7 @@ class StreamFromElement extends SubscribingElement {
|
|
974
974
|
});
|
975
975
|
}
|
976
976
|
get onMissingElement() {
|
977
|
-
const value = this.getAttribute("missing") || MissingElement
|
977
|
+
const value = this.getAttribute("missing") || MissingElement.behavior;
|
978
978
|
// stream_from does not support raising exceptions on missing elements because there's no way to catch them
|
979
979
|
if ([ "warn", "ignore", "event" ].includes(value)) return value; else {
|
980
980
|
console.warn("Invalid 'missing' attribute. Defaulting to 'warn'.");
|
@@ -1143,6 +1143,7 @@ class UpdatesForElement extends SubscribingElement {
|
|
1143
1143
|
}
|
1144
1144
|
}
|
1145
1145
|
disconnectedCallback() {
|
1146
|
+
super.disconnectedCallback();
|
1146
1147
|
if (this.observeAppearance) {
|
1147
1148
|
this.appearanceObserver.stop();
|
1148
1149
|
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
})(this, (function(exports, morphdom) {
|
5
5
|
"use strict";
|
6
6
|
var name = "cable_ready";
|
7
|
-
var version = "5.0.
|
7
|
+
var version = "5.0.6";
|
8
8
|
var description = "CableReady helps you create great real-time user experiences by making it simple to trigger client-side DOM changes from server-side Ruby.";
|
9
9
|
var keywords = [ "ruby", "rails", "websockets", "actioncable", "cable", "ssr", "stimulus_reflex", "client-side", "dom" ];
|
10
10
|
var homepage = "https://cableready.stimulusreflex.com";
|
@@ -33,19 +33,19 @@
|
|
33
33
|
morphdom: "2.6.1"
|
34
34
|
};
|
35
35
|
var devDependencies = {
|
36
|
-
"@open-wc/testing": "^
|
37
|
-
"@rollup/plugin-json": "^6.
|
38
|
-
"@rollup/plugin-node-resolve": "^15.0
|
39
|
-
"@rollup/plugin-terser": "^0.4.
|
40
|
-
"@web/dev-server-esbuild": "^0.3
|
41
|
-
"@web/dev-server-rollup": "^0.
|
42
|
-
"@web/test-runner": "^0.
|
36
|
+
"@open-wc/testing": "^4.0.0",
|
37
|
+
"@rollup/plugin-json": "^6.1.0",
|
38
|
+
"@rollup/plugin-node-resolve": "^15.3.0",
|
39
|
+
"@rollup/plugin-terser": "^0.4.4",
|
40
|
+
"@web/dev-server-esbuild": "^1.0.3",
|
41
|
+
"@web/dev-server-rollup": "^0.6.4",
|
42
|
+
"@web/test-runner": "^0.19.0",
|
43
43
|
"prettier-standard": "^16.4.1",
|
44
|
-
rollup: "^
|
45
|
-
sinon: "^
|
46
|
-
vite: "^4.
|
47
|
-
vitepress: "^1.
|
48
|
-
"vitepress-plugin-search": "^1.0.4-alpha.
|
44
|
+
rollup: "^4.25.0",
|
45
|
+
sinon: "^19.0.2",
|
46
|
+
vite: "^5.4.10",
|
47
|
+
vitepress: "^1.5.0",
|
48
|
+
"vitepress-plugin-search": "^1.0.4-alpha.22"
|
49
49
|
};
|
50
50
|
var packageInfo = {
|
51
51
|
name: name,
|
@@ -761,7 +761,7 @@
|
|
761
761
|
}
|
762
762
|
};
|
763
763
|
let missingElement = "warn";
|
764
|
-
var MissingElement
|
764
|
+
var MissingElement = {
|
765
765
|
get behavior() {
|
766
766
|
return missingElement;
|
767
767
|
},
|
@@ -770,7 +770,7 @@
|
|
770
770
|
}
|
771
771
|
};
|
772
772
|
const perform = (operations, options = {
|
773
|
-
onMissingElement: MissingElement
|
773
|
+
onMissingElement: MissingElement.behavior
|
774
774
|
}) => {
|
775
775
|
const batches = {};
|
776
776
|
operations.forEach((operation => {
|
@@ -828,7 +828,7 @@
|
|
828
828
|
}));
|
829
829
|
};
|
830
830
|
const performAsync = (operations, options = {
|
831
|
-
onMissingElement: MissingElement
|
831
|
+
onMissingElement: MissingElement.behavior
|
832
832
|
}) => new Promise(((resolve, reject) => {
|
833
833
|
try {
|
834
834
|
resolve(perform(operations, options));
|
@@ -904,7 +904,7 @@
|
|
904
904
|
});
|
905
905
|
}
|
906
906
|
get onMissingElement() {
|
907
|
-
const value = this.getAttribute("missing") || MissingElement
|
907
|
+
const value = this.getAttribute("missing") || MissingElement.behavior;
|
908
908
|
// stream_from does not support raising exceptions on missing elements because there's no way to catch them
|
909
909
|
if ([ "warn", "ignore", "event" ].includes(value)) return value; else {
|
910
910
|
console.warn("Invalid 'missing' attribute. Defaulting to 'warn'.");
|
@@ -1062,6 +1062,7 @@
|
|
1062
1062
|
}
|
1063
1063
|
}
|
1064
1064
|
disconnectedCallback() {
|
1065
|
+
super.disconnectedCallback();
|
1065
1066
|
if (this.observeAppearance) {
|
1066
1067
|
this.appearanceObserver.stop();
|
1067
1068
|
}
|
data/cable_ready.gemspec
CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |gem|
|
|
28
28
|
gem.add_dependency "activesupport", rails_version
|
29
29
|
gem.add_dependency "railties", rails_version
|
30
30
|
gem.add_dependency "thread-local", ">= 1.1.0"
|
31
|
+
gem.add_dependency "observer", "~> 0.1"
|
31
32
|
|
32
33
|
gem.add_development_dependency "magic_frozen_string_literal"
|
33
34
|
gem.add_development_dependency "mocha"
|
data/lib/cable_ready/channels.rb
CHANGED
@@ -27,7 +27,7 @@ module CableReady
|
|
27
27
|
.select { |channel| channel.identifier.is_a?(String) }
|
28
28
|
.tap do |channels|
|
29
29
|
channels.each { |channel| @channels[channel.identifier].broadcast(clear: clear) }
|
30
|
-
channels.each { |channel|
|
30
|
+
channels.each { |channel| clear_channel(channel) if clear }
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -37,8 +37,16 @@ module CableReady
|
|
37
37
|
.reject { |channel| channel.identifier.is_a?(String) }
|
38
38
|
.tap do |channels|
|
39
39
|
channels.each { |channel| @channels[channel.identifier].broadcast_to(model, clear: clear) }
|
40
|
-
channels.each { |channel|
|
40
|
+
channels.each { |channel| clear_channel(channel) if clear }
|
41
41
|
end
|
42
42
|
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def clear_channel(channel)
|
47
|
+
@channels.except!(channel.identifier)
|
48
|
+
observer = CableReady.config.observers.find { |o| o.try(:identifier) == channel.identifier }
|
49
|
+
CableReady.config.delete_observer(observer) if observer
|
50
|
+
end
|
43
51
|
end
|
44
52
|
end
|