anycable-rails-core 1.6.0.rc.2 → 1.6.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/CHANGELOG.md +7 -1
- data/lib/anycable/rails/helper.rb +2 -2
- data/lib/anycable/rails/rubocop/cops/anycable/periodical_timers.rb +2 -7
- data/lib/anycable/rails/version.rb +1 -1
- data/lib/generators/anycable/download/download_generator.rb +16 -5
- data/lib/generators/anycable/setup/setup_generator.rb +18 -0
- metadata +8 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98df74fbee0c55c64bfddfba7f3523739e53585d069aba4c38e473a12a799d42
|
4
|
+
data.tar.gz: b2df57d980697a1ed0f9d6ba0b8ea46b3f8af00214c6965c18fb1ab645fde209
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d48105a43d0693bece056fe51d6367d4b4c51ff4182911e2352d07f2e461e75324d7015a512e5146064c02cf40f7546420f4f60968fed0fd819cb461bb2076d0
|
7
|
+
data.tar.gz: d7859990689306126edae8e2d412ed4c6e9c4fcb135ae4db165cf02a1bcfee8ab2643ee465fbaceb4db53a2b7c2f1e0225a3ddbfaa52721012baa04683b5cbd0
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,13 @@
|
|
2
2
|
|
3
3
|
## main
|
4
4
|
|
5
|
-
## 1.6.0
|
5
|
+
## 1.6.0 (2025-03-18)
|
6
|
+
|
7
|
+
- Update `anycable:download` generator to support v1.6+. ([@palkan][])
|
8
|
+
|
9
|
+
- Add `#anycable_token_meta_tag` helper. ([@palkan][])
|
10
|
+
|
11
|
+
It generates a meta tag with the AnyCable JWT token (w/o the URL).
|
6
12
|
|
7
13
|
- Add Presence API. ([@palkan][])
|
8
14
|
|
@@ -22,10 +22,10 @@ module AnyCable
|
|
22
22
|
tag "meta", name: "action-cable-url", content: url
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def anycable_token_meta_tag(**identifiers)
|
26
26
|
token = JWT.encode(identifiers)
|
27
27
|
|
28
|
-
tag "meta", name: "
|
28
|
+
tag "meta", name: "cable-token", content: token
|
29
29
|
end
|
30
30
|
|
31
31
|
def signed_stream_name(streamables)
|
@@ -15,14 +15,9 @@ module RuboCop
|
|
15
15
|
#
|
16
16
|
class PeriodicalTimers < RuboCop::Cop::Base
|
17
17
|
MSG = "Periodical Timers are not supported in AnyCable"
|
18
|
+
RESTRICT_ON_SEND = %i[periodically].freeze
|
18
19
|
|
19
|
-
|
20
|
-
(send _ :periodically ...)
|
21
|
-
PATTERN
|
22
|
-
|
23
|
-
def on_send(node)
|
24
|
-
add_offense(node) if calls_periodically?(node)
|
25
|
-
end
|
20
|
+
alias_method :on_send, :add_offense
|
26
21
|
end
|
27
22
|
end
|
28
23
|
end
|
@@ -37,24 +37,35 @@ module AnyCableRailsGenerators
|
|
37
37
|
return latest_release_url(version) if version == "latest"
|
38
38
|
|
39
39
|
if Gem::Version.new(version).segments.first >= 1
|
40
|
-
new_release_url(
|
40
|
+
new_release_url(version)
|
41
41
|
else
|
42
|
-
legacy_release_url(
|
42
|
+
legacy_release_url(version)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def repository_name(version)
|
47
|
+
return "anycable/anycable" if version == "latest"
|
48
|
+
|
49
|
+
major, minor, = Gem::Version.new(version).segments
|
50
|
+
if (major >= 1 && minor >= 6) || (major > 1)
|
51
|
+
"anycable/anycable"
|
52
|
+
else
|
53
|
+
"anycable/anycable-go"
|
43
54
|
end
|
44
55
|
end
|
45
56
|
|
46
57
|
def legacy_release_url(version)
|
47
|
-
"https://github.com/
|
58
|
+
"https://github.com/#{repository_name(version)}/releases/download/v#{version}/" \
|
48
59
|
"anycable-go-v#{version}-#{os_name}-#{cpu_name}"
|
49
60
|
end
|
50
61
|
|
51
62
|
def new_release_url(version)
|
52
|
-
"https://github.com/
|
63
|
+
"https://github.com/#{repository_name(version)}/releases/download/v#{version}/" \
|
53
64
|
"anycable-go-#{os_name}-#{cpu_name}"
|
54
65
|
end
|
55
66
|
|
56
67
|
def latest_release_url(version)
|
57
|
-
"https://github.com/
|
68
|
+
"https://github.com/#{repository_name(version)}/releases/latest/download/" \
|
58
69
|
"anycable-go-#{os_name}-#{cpu_name}"
|
59
70
|
end
|
60
71
|
|
@@ -88,6 +88,13 @@ module AnyCableRailsGenerators
|
|
88
88
|
"`action_cable_meta_tag` or `action_cable_with_jwt_meta_tag` included in your HTML layout"
|
89
89
|
end
|
90
90
|
|
91
|
+
def cable_engine_warning
|
92
|
+
return unless application_rb
|
93
|
+
return if application_rb.match?(/^require\s+['"](action_cable\/engine|rails\/all)['"]/)
|
94
|
+
|
95
|
+
say_status :help, "⚠️ Ensure Action Cable is loaded.\nAdd `require \"action_cable/engine\"` to your `config/application.rb`."
|
96
|
+
end
|
97
|
+
|
91
98
|
def deployment_method
|
92
99
|
say_status :info, "🚢 See our deployment guide to learn how to run AnyCable in production 👉 #{DOCS_ROOT}/deployment"
|
93
100
|
|
@@ -139,6 +146,17 @@ module AnyCableRailsGenerators
|
|
139
146
|
end
|
140
147
|
end
|
141
148
|
|
149
|
+
def application_rb
|
150
|
+
@application_rb ||= begin
|
151
|
+
res = nil
|
152
|
+
in_root do
|
153
|
+
next unless File.file?("config/application.rb")
|
154
|
+
res = File.read("config/application.rb")
|
155
|
+
end
|
156
|
+
res
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
142
160
|
def install_for_docker
|
143
161
|
say_status :help, "️️⚠️ Docker development configuration could vary", :yellow
|
144
162
|
|
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anycable-rails-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.0
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-03-18 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
|
-
- - "
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.6.0.rc.1
|
20
|
-
- - "<"
|
17
|
+
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
19
|
+
version: 1.6.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.6.0
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 1.7.0
|
26
|
+
version: 1.6.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: actioncable
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,9 +144,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
144
|
version: '2.7'
|
151
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
146
|
requirements:
|
153
|
-
- - "
|
147
|
+
- - ">="
|
154
148
|
- !ruby/object:Gem::Version
|
155
|
-
version:
|
149
|
+
version: '0'
|
156
150
|
requirements: []
|
157
151
|
rubygems_version: 3.4.19
|
158
152
|
signing_key:
|