anycable-rails 1.0.0.rc2 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0de4d95da59574a14f3f56219154cf3e12513a74e677520acf0cffbbf566e49
4
- data.tar.gz: c6a4e9b87c3c59aac495663f8acc9f3150a8de5f43d5ab55d19c265039ba2af1
3
+ metadata.gz: 1c58ca24c6710071b8a90eee6a0d84ba9ec3069d0fb86fecebdab3cfba9fe1d3
4
+ data.tar.gz: f6ca1937e8cf821d3ded458db84cbfc83840ad45af266c04f32388e2ecec621d
5
5
  SHA512:
6
- metadata.gz: 93f85efbfa20cffe71b3b52115b98321158577a36439b9875e6bbfb18ecee32c44fd31376a05f8883b8eff7d8b06b4d2d5abf762f86f6765248e3051869f3b17
7
- data.tar.gz: 2ca2cd646321b0ed567af383847e4ae5f5cab116be0a7c410ea18d91f43378c024c47e3002c0aa70ddd0970a4e2bad50fd173c0b1fdf9088f229bad3ea53a05d
6
+ metadata.gz: 2ffbcc289fe4be6092c67b9953074f57a976f4375b1ac91408723043e9140e041f2fae83d7c3ac7234aa05651db48be4a663a2812b8a6bf2919fa9fc3c127494
7
+ data.tar.gz: b22cc5e90dfdc39369efef3feb46628635397313b203e645a042e810342bdbbe7da85ad900f3626a1d99ee85da8b4e9629be398aa68970758aeea78ff8fa95b5
@@ -2,7 +2,21 @@
2
2
 
3
3
  ## master
4
4
 
5
- ## 1.0.0.rc2 (2020-06-16)
5
+ ## 1.0.2 (2020-09-08)
6
+
7
+ - Added missing channel state support to `#unsubscribed` callbacks. ([@palkan][])
8
+
9
+ ## 1.0.1 (2020-07-07)
10
+
11
+ - Fixed patching Action Cable testing classes. ([@palkan][])
12
+
13
+ ## 1.0.0 (2020-07-01)
14
+
15
+ - Support `rescue_from` in connections (Rails 6.1). ([@palkan][])
16
+
17
+ - Make AnyCable patches compatible with Action Cable testing. ([@palkan][])
18
+
19
+ - Do not add localhost `redis_url` to `anycable.yml` when Docker development method is chosen in `anycable:setup`. ([@palkan][])
6
20
 
7
21
  - Fix connection identifiers deserialization regression. ([@palkan][])
8
22
 
@@ -13,8 +27,6 @@ Using non-strings or non-GlobalId-encoded objects was broken.
13
27
  Update Docker snippet, do not enable persistent sessions automatically,
14
28
  fix setting `config.action_cable.url` in environment configuration.
15
29
 
16
- ## 1.0.0.rc1 (2020-06-10)
17
-
18
30
  - Add `state_attr_accessor` for channels. ([@palkan][])
19
31
 
20
32
  Just like `attr_accessor` but "persists" the state between RPC calls.
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  [![Gem Version](https://badge.fury.io/rb/anycable-rails.svg)](https://rubygems.org/gems/anycable-rails)
3
3
  [![Build](https://github.com/anycable/anycable-rails/workflows/Build/badge.svg)](https://github.com/anycable/anycable-rails/actions)
4
4
  [![Gitter](https://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/anycable/Lobby)
5
- [![Documentation](https://img.shields.io/badge/docs-link-brightgreen.svg)](https://docs.anycable.io/v1/#/ruby/rails)
5
+ [![Documentation](https://img.shields.io/badge/docs-link-brightgreen.svg)](https://docs.anycable.io/#/rails/getting_started)
6
6
 
7
7
  # AnyCable Rails
8
8
 
@@ -14,9 +14,9 @@ You can even use Action Cable in development and not be afraid of [compatibility
14
14
 
15
15
  **Important** This is a readme for the upcoming v1.0 release. For v0.6.x see the readme from the [0-6-stable](https://github.com/anycable/anycable-rails/tree/0-6-stable) branch.
16
16
 
17
- <!-- 💾 [Example Application](https://github.com/anycable/anycable_demo) -->
17
+ 💾 [Example Application](https://github.com/anycable/anycable_rails_demo)
18
18
 
19
- 📑 [Documentation](https://docs.anycable.io/v1/#/ruby/rails).
19
+ 📑 [Documentation](https://docs.anycable.io/#/rails/getting_started).
20
20
 
21
21
  <a href="https://evilmartians.com/">
22
22
  <img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a>
@@ -83,17 +83,17 @@ $ bundle exec anycable
83
83
  $ RAILS_ENV=production bundle exec anycable
84
84
  ```
85
85
 
86
- And, finally, run AnyCable WebSocket server, e.g. [anycable-go](https://docs.anycable.io/v1/#/anycable-go/getting_started):
86
+ And, finally, run AnyCable WebSocket server, e.g. [anycable-go](https://docs.anycable.io/#/v1/anycable-go/getting_started):
87
87
 
88
88
  ```sh
89
89
  anycable-go --host=localhost --port=3334
90
90
  ```
91
91
 
92
- See [documentation](https://docs.anycable.io/v1/#/ruby/rails) for more information on AnyCable + Rails usage.
92
+ See [documentation](https://docs.anycable.io/#/rails/getting_started) for more information on AnyCable + Rails usage.
93
93
 
94
94
  ## Action Cable Compatibility
95
95
 
96
- See [documentation](https://docs.anycable.io/v1/#/ruby/compatibility).
96
+ See [documentation](https://docs.anycable.io/#/rails/compatibility).
97
97
 
98
98
  ## Contributing
99
99
 
@@ -21,6 +21,8 @@ module ActionCable
21
21
 
22
22
  attr_reader :socket
23
23
 
24
+ alias anycable_socket socket
25
+
24
26
  delegate :env, :session, to: :request
25
27
 
26
28
  class << self
@@ -29,7 +31,7 @@ module ActionCable
29
31
  end
30
32
  end
31
33
 
32
- def initialize(socket, env, identifiers: "{}", subscriptions: [])
34
+ def initialize(socket, env, identifiers: "{}", subscriptions: nil)
33
35
  if env
34
36
  # If env is set, then somehow we're in the context of Action Cable
35
37
  # Return and print a warning in #process
@@ -49,8 +51,15 @@ module ActionCable
49
51
  @socket = socket
50
52
  @subscriptions = ActionCable::Connection::Subscriptions.new(self)
51
53
 
52
- # Initialize channels if any
53
- subscriptions.each { |id| @subscriptions.fetch(id) }
54
+ return unless subscriptions
55
+
56
+ # Initialize channels (for disconnect)
57
+ subscriptions.each do |id|
58
+ channel = @subscriptions.fetch(id)
59
+ next unless socket.istate[id]
60
+
61
+ channel.__istate__ = ActiveSupport::JSON.decode(socket.istate[id])
62
+ end
54
63
  end
55
64
 
56
65
  def process
@@ -62,7 +71,7 @@ module ActionCable
62
71
 
63
72
  def invalid_request_message
64
73
  "You're trying to connect to Action Cable server while using AnyCable. " \
65
- "See https://docs.anycable.io/v1/#/troubleshooting?id=server-raises-an-argumenterror-exception-when-client-tries-to-connect"
74
+ "See https://docs.anycable.io/#/troubleshooting?id=server-raises-an-argumenterror-exception-when-client-tries-to-connect"
66
75
  end
67
76
 
68
77
  def handle_open
@@ -196,3 +205,18 @@ module ActionCable
196
205
  # rubocop:enable Metrics/ClassLength
197
206
  end
198
207
  end
208
+
209
+ # Support rescue_from
210
+ # https://github.com/rails/rails/commit/d2571e560c62116f60429c933d0c41a0e249b58b
211
+ if ActionCable::Connection::Base.respond_to?(:rescue_from)
212
+ ActionCable::Connection::Base.prepend(Module.new do
213
+ def handle_channel_command(*)
214
+ super
215
+ rescue Exception => e # rubocop:disable Lint/RescueException
216
+ rescue_with_handler(e) || raise
217
+ false
218
+ end
219
+ end)
220
+ end
221
+
222
+ require "anycable/rails/actioncable/testing" if ::Rails.env.test?
@@ -15,8 +15,8 @@ module ActionCable
15
15
  return super unless socket.session
16
16
 
17
17
  super.tap do |req|
18
- req.env[Rack::RACK_SESSION] =
19
- AnyCable::Rails::SessionProxy.new(req.env[Rack::RACK_SESSION], socket.session)
18
+ req.env[::Rack::RACK_SESSION] =
19
+ AnyCable::Rails::SessionProxy.new(req.env[::Rack::RACK_SESSION], socket.session)
20
20
  end
21
21
  end
22
22
 
@@ -28,3 +28,7 @@ module ActionCable
28
28
  end
29
29
  end
30
30
  end
31
+
32
+ ::ActionCable::Connection::Base.prepend(
33
+ ::ActionCable::Connection::PersistentSession
34
+ )
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file contains patches to Action Cable testing modules
4
+
5
+ # Trigger autoload (if constant is defined)
6
+ begin
7
+ ActionCable::Channel::TestCase # rubocop:disable Lint/Void
8
+ ActionCable::Connection::TestCase # rubocop:disable Lint/Void
9
+ rescue NameError
10
+ return
11
+ end
12
+
13
+ ActionCable::Channel::ChannelStub.prepend(Module.new do
14
+ def subscribe_to_channel
15
+ # allocate @streams
16
+ streams
17
+ handle_subscribe
18
+ end
19
+ end)
20
+
21
+ ActionCable::Channel::ConnectionStub.prepend(Module.new do
22
+ def socket
23
+ @socket ||= AnyCable::Socket.new(env: {})
24
+ end
25
+
26
+ alias_method :anycable_socket, :socket
27
+ end)
28
+
29
+ ActionCable::Connection::TestConnection.prepend(Module.new do
30
+ def initialize(request)
31
+ @request = request
32
+ @cached_ids = {}
33
+ super
34
+ end
35
+ end)
@@ -5,18 +5,16 @@ module AnyCable
5
5
  module ChannelState
6
6
  module ClassMethods
7
7
  def state_attr_accessor(*names)
8
- return attr_accessor(*names) unless AnyCable::Rails.enabled?
9
-
10
8
  names.each do |name|
11
9
  channel_state_attributes << name
12
10
  class_eval <<~RUBY, __FILE__, __LINE__ + 1
13
11
  def #{name}
14
12
  return @#{name} if instance_variable_defined?(:@#{name})
15
- @#{name} = AnyCable::Rails.deserialize(connection.socket.istate["#{name}"], json: true)
13
+ @#{name} = AnyCable::Rails.deserialize(__istate__["#{name}"], json: true) if connection.anycable_socket
16
14
  end
17
15
 
18
16
  def #{name}=(val)
19
- connection.socket.istate["#{name}"] = AnyCable::Rails.serialize(val, json: true)
17
+ __istate__["#{name}"] = AnyCable::Rails.serialize(val, json: true) if connection.anycable_socket
20
18
  instance_variable_set(:@#{name}, val)
21
19
  end
22
20
  RUBY
@@ -38,6 +36,13 @@ module AnyCable
38
36
  def self.included(base)
39
37
  base.extend ClassMethods
40
38
  end
39
+
40
+ # Make it possible to provide istate explicitly for a channel instance
41
+ attr_writer :__istate__
42
+
43
+ def __istate__
44
+ @__istate__ ||= connection.socket.istate
45
+ end
41
46
  end
42
47
  end
43
48
  end
@@ -34,6 +34,7 @@ module AnyCable
34
34
  diff = instance_variables - was_ivars
35
35
 
36
36
  if self.class.respond_to?(:channel_state_attributes)
37
+ diff.delete(:@__istate__)
37
38
  diff.delete_if { |ivar| self.class.channel_state_attributes.include?(:"#{ivar.to_s.sub(/^@/, "")}") }
38
39
  end
39
40
 
@@ -43,18 +43,18 @@ module AnyCable
43
43
 
44
44
  initializer "anycable.connection_factory", after: "action_cable.set_configs" do |app|
45
45
  ActiveSupport.on_load(:action_cable) do
46
+ # Add AnyCable patch method stub (we use it in ChannelState to distinguish between Action Cable and AnyCable)
47
+ # NOTE: Method could be already defined if patch was loaded manually
48
+ ActionCable::Connection::Base.attr_reader(:anycable_socket) unless ActionCable::Connection::Base.method_defined?(:anycable_socket)
49
+
50
+ app.config.to_prepare do
51
+ AnyCable.connection_factory = ActionCable.server.config.connection_class.call
52
+ end
53
+
46
54
  if AnyCable::Rails.enabled?
47
55
  require "anycable/rails/actioncable/connection"
48
-
49
56
  if AnyCable.config.persistent_session_enabled
50
57
  require "anycable/rails/actioncable/connection/persistent_session"
51
- ::ActionCable::Connection::Base.prepend(
52
- ::ActionCable::Connection::PersistentSession
53
- )
54
- end
55
-
56
- app.config.to_prepare do
57
- AnyCable.connection_factory = ActionCable.server.config.connection_class.call
58
58
  end
59
59
  end
60
60
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module AnyCable
4
4
  module Rails
5
- VERSION = "1.0.0.rc2"
5
+ VERSION = "1.0.2"
6
6
  end
7
7
  end
@@ -1,5 +1,5 @@
1
1
  Description:
2
- Install AnyCable-Go web server.
2
+ Install AnyCable-Go web server locally (the latest version by default).
3
3
 
4
4
  Example:
5
5
  rails generate anycable:download
@@ -9,8 +9,7 @@ module AnyCableRailsGenerators
9
9
 
10
10
  include WithOSHelpers
11
11
 
12
- # TODO: change to latest release
13
- VERSION = "1.0.0.preview1"
12
+ VERSION = "latest"
14
13
 
15
14
  class_option :bin_path,
16
15
  type: :string,
@@ -35,20 +34,27 @@ module AnyCableRailsGenerators
35
34
  private
36
35
 
37
36
  def release_url(version)
37
+ return latest_release_url(version) if version == "latest"
38
+
38
39
  if Gem::Version.new(version).segments.first >= 1
39
- new_release_url(version)
40
+ new_release_url("v#{version}")
40
41
  else
41
- legacy_release_url(version)
42
+ legacy_release_url("v#{version}")
42
43
  end
43
44
  end
44
45
 
45
46
  def legacy_release_url(version)
46
- "https://github.com/anycable/anycable-go/releases/download/v#{version}/" \
47
+ "https://github.com/anycable/anycable-go/releases/download/#{version}/" \
47
48
  "anycable-go-v#{version}-#{os_name}-#{cpu_name}"
48
49
  end
49
50
 
50
51
  def new_release_url(version)
51
- "https://github.com/anycable/anycable-go/releases/download/v#{version}/" \
52
+ "https://github.com/anycable/anycable-go/releases/download/#{version}/" \
53
+ "anycable-go-#{os_name}-#{cpu_name}"
54
+ end
55
+
56
+ def latest_release_url(version)
57
+ "https://github.com/anycable/anycable-go/releases/latest/download/" \
52
58
  "anycable-go-#{os_name}-#{cpu_name}"
53
59
  end
54
60
 
@@ -8,7 +8,7 @@ module AnyCableRailsGenerators
8
8
  namespace "anycable:setup"
9
9
  source_root File.expand_path("templates", __dir__)
10
10
 
11
- DOCS_ROOT = "https://docs.anycable.io/v1/#"
11
+ DOCS_ROOT = "https://docs.anycable.io/#"
12
12
  DEVELOPMENT_METHODS = %w[skip local docker].freeze
13
13
  SERVER_SOURCES = %w[skip brew binary].freeze
14
14
 
@@ -118,7 +118,7 @@ module AnyCableRailsGenerators
118
118
  def stimulus_reflex
119
119
  return unless stimulus_reflex?
120
120
 
121
- say_status :help, "⚠️ Please, check out the documentation on using AnyCable with Stimulus Reflex: https://docs.anycable.io/v1/#/ruby/stimulus_reflex"
121
+ say_status :help, "⚠️ Please, check out the documentation on using AnyCable with Stimulus Reflex: https://docs.anycable.io/#/rails/stimulus_reflex"
122
122
  end
123
123
 
124
124
  def rubocop_compatibility
@@ -126,7 +126,7 @@ module AnyCableRailsGenerators
126
126
 
127
127
  say_status :info, "🤖 Running static compatibility checks with RuboCop"
128
128
  res = run "bundle exec rubocop -r 'anycable/rails/compatibility/rubocop' --only AnyCable/InstanceVars,AnyCable/PeriodicalTimers,AnyCable/InstanceVars"
129
- say_status :help, "⚠️ Please, take a look at the icompatibilities above and fix them. See https://docs.anycable.io/v1/#/ruby/compatibility" unless res
129
+ say_status :help, "⚠️ Please, take a look at the icompatibilities above and fix them. See https://docs.anycable.io/#/rails/compatibility" unless res
130
130
  end
131
131
 
132
132
  def finish
@@ -143,6 +143,10 @@ module AnyCableRailsGenerators
143
143
  !!gemfile_lock&.match?(/^\s+redis\b/)
144
144
  end
145
145
 
146
+ def webpacker?
147
+ !!gemfile_lock&.match?(/^\s+webpacker\b/)
148
+ end
149
+
146
150
  def rubocop?
147
151
  !!gemfile_lock&.match?(/^\s+rubocop\b/)
148
152
  end
@@ -159,6 +163,9 @@ module AnyCableRailsGenerators
159
163
  end
160
164
 
161
165
  def install_for_docker
166
+ # Remove localhost from configuraiton
167
+ gsub_file "config/anycable.yml", /^.*redis_url:.*localhost[^\n]+\n/, ""
168
+
162
169
  say_status :help, "️️⚠️ Docker development configuration could vary", :yellow
163
170
 
164
171
  say "Here is an example snippet for docker-compose.yml:"
@@ -174,8 +181,8 @@ module AnyCableRailsGenerators
174
181
  ANYCABLE_RPC_HOST: anycable:50051
175
182
  ANYCABLE_DEBUG: 1
176
183
  depends_on:
177
- - anycable
178
- - redis
184
+ redis:
185
+ condition: service_healthy
179
186
 
180
187
  anycable:
181
188
  <<: *backend
@@ -184,8 +191,13 @@ module AnyCableRailsGenerators
184
191
  <<: *backend_environment
185
192
  ANYCABLE_REDIS_URL: redis://redis:6379/0
186
193
  ANYCABLE_RPC_HOST: 0.0.0.0:50051
194
+ ANYCABLE_DEBUG: 1
187
195
  ports:
188
196
  - '50051'
197
+ depends_on:
198
+ <<: *backend_depends_on
199
+ ws:
200
+ condition: service_started
189
201
  ─────────────────────────────────────────
190
202
  YML
191
203
  end
@@ -216,8 +228,8 @@ module AnyCableRailsGenerators
216
228
  def template_proc_files
217
229
  file_name = "Procfile.dev"
218
230
 
219
- if File.exist?(file_name)
220
- append_file file_name, 'anycable: bundle exec anycable --server-command "anycable-go --port 3334"'
231
+ if file_exists?(file_name)
232
+ append_file file_name, "anycable: bundle exec anycable\nws: anycable-go#{anycable_go_options}", force: true
221
233
  else
222
234
  say_status :help, "💡 We recommend using Hivemind to manage multiple processes in development 👉 https://github.com/DarthSim/hivemind", :yellow
223
235
 
@@ -254,5 +266,15 @@ module AnyCableRailsGenerators
254
266
  args << "--version #{opts[:version]}" if opts[:version]
255
267
  end.join(" ")
256
268
  end
269
+
270
+ def anycable_go_options
271
+ redis? ? " --port=8080" : " --port=8080 --broadcast_adapter=http"
272
+ end
273
+
274
+ def file_exists?(name)
275
+ in_root do
276
+ return File.file?(name)
277
+ end
278
+ end
257
279
  end
258
280
  end
@@ -0,0 +1,6 @@
1
+ server: bundle exec rails s
2
+ <%- if webpacker? -%>
3
+ assets: bundle exec bin/webpack-dev-server
4
+ <%- end -%>
5
+ anycable: bundle exec anycable
6
+ ws: anycable-go<%= anycable_go_options %>
@@ -30,10 +30,17 @@ default: &default
30
30
  # Use the same channel name for WebSocket server, e.g.:
31
31
  # $ anycable-go --redis-channel="__anycable__"
32
32
  redis_channel: "__anycable__"
33
+ <%- if redis? -%>
34
+ # You can use REDIS_URL env var to configure Redis URL.
35
+ # Localhost is used by default.
36
+ # redis_url: "redis://localhost:6379/1"
37
+ <%- end -%>
33
38
 
34
39
  development:
35
40
  <<: *default
36
- redis_url: "redis://localhost:6379/1"
41
+
42
+ test:
43
+ <<: *default
37
44
 
38
45
  production:
39
46
  <<: *default
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anycable-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc2
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - palkan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-16 00:00:00.000000000 Z
11
+ date: 2020-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: anycable
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0.rc1
19
+ version: 1.0.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.0.0.rc1
26
+ version: 1.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +81,19 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec
84
+ name: rspec-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '3.4'
89
+ version: 4.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '3.4'
96
+ version: 4.0.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -141,6 +141,7 @@ files:
141
141
  - lib/anycable/rails/actioncable/connection/persistent_session.rb
142
142
  - lib/anycable/rails/actioncable/connection/serializable_identification.rb
143
143
  - lib/anycable/rails/actioncable/remote_connections.rb
144
+ - lib/anycable/rails/actioncable/testing.rb
144
145
  - lib/anycable/rails/channel_state.rb
145
146
  - lib/anycable/rails/compatibility.rb
146
147
  - lib/anycable/rails/compatibility/rubocop.rb
@@ -160,7 +161,7 @@ files:
160
161
  - lib/generators/anycable/download/download_generator.rb
161
162
  - lib/generators/anycable/setup/USAGE
162
163
  - lib/generators/anycable/setup/setup_generator.rb
163
- - lib/generators/anycable/setup/templates/Procfile.dev
164
+ - lib/generators/anycable/setup/templates/Procfile.dev.tt
164
165
  - lib/generators/anycable/setup/templates/config/anycable.yml.tt
165
166
  - lib/generators/anycable/setup/templates/config/cable.yml.tt
166
167
  - lib/generators/anycable/setup/templates/config/initializers/anycable.rb.tt
@@ -185,9 +186,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
185
186
  version: '2.5'
186
187
  required_rubygems_version: !ruby/object:Gem::Requirement
187
188
  requirements:
188
- - - ">"
189
+ - - ">="
189
190
  - !ruby/object:Gem::Version
190
- version: 1.3.1
191
+ version: '0'
191
192
  requirements: []
192
193
  rubygems_version: 3.0.6
193
194
  signing_key:
@@ -1,3 +0,0 @@
1
- server: bin/rails server
2
- assets: bin/webpack-dev-server
3
- anycable: bundle exec anycable --server-command "anycable-go --port 3334"