anycable-rails 1.0.0.rc2 → 1.0.2

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: 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"