rails/actioncable
Xavier Noria 645239817d Refactor Zeitwerk setup in Action Cable
I am trying to find a sweet spot here.

Personally, not quite satisfied by having lib/action_cable/zeitwerk.rb. At the
same time, trying to avoid too taking much space in lib/action_cable.rb.

This patch also moves

    require_relative "action_cable/version"

within ActionCable. Why? In a project, I like that the entrypoint defines the
namespace. That is the main file for that namespace.

Then, files below have it already created, and reopen it.

I just find this deliberate order of execution to be natural, hierarchical,
matching the project structure.
2022-03-06 19:52:36 +01:00
..
app Only close websockets when connection is open (#44304) 2022-02-02 15:50:34 +01:00
bin Use frozen string literal in actioncable/ 2017-07-23 23:30:29 +03:00
lib Refactor Zeitwerk setup in Action Cable 2022-03-06 19:52:36 +01:00
test Load with Zeitwerk 2022-03-05 08:19:49 +01:00
.babelrc Convert ActionCable javascript to ES2015 modules with modern build environment 2018-11-02 08:41:05 -07:00
.eslintrc Output Action Cable JS without transpiling and as ESM (#42856) 2021-08-06 14:00:43 +02:00
.gitignore Ensure @rails/actioncable package contains complete source 2019-08-15 09:19:59 -04:00
actioncable.gemspec Load with Zeitwerk 2022-03-05 08:19:49 +01:00
CHANGELOG.md Start Rails 7.1 development 2021-12-07 15:52:30 +00:00
karma.conf.js Output Action Cable JS without transpiling and as ESM (#42856) 2021-08-06 14:00:43 +02:00
MIT-LICENSE Bump license years to 2022 [ci-skip] 2022-01-01 15:22:15 +09:00
package.json Start Rails 7.1 development 2021-12-07 15:52:30 +00:00
Rakefile Load framework test files in deterministic order 2019-12-16 16:55:06 +00:00
README.md Update the Rails mailing list URLs to new discuss discourse URL [ci skip] 2020-04-02 22:00:28 +05:30
rollup.config.js Output Action Cable JS without transpiling and as ESM (#42856) 2021-08-06 14:00:43 +02:00
rollup.config.test.js Output Action Cable JS without transpiling and as ESM (#42856) 2021-08-06 14:00:43 +02:00

Action Cable Integrated WebSockets for Rails

Action Cable seamlessly integrates WebSockets with the rest of your Rails application. It allows for real-time features to be written in Ruby in the same style and form as the rest of your Rails application, while still being performant and scalable. It's a full-stack offering that provides both a client-side JavaScript framework and a server-side Ruby framework. You have access to your full domain model written with Active Record or your ORM of choice.

You can read more about Action Cable in the Action Cable Overview guide.

Support

API documentation is at:

Bug reports for the Ruby on Rails project can be filed here:

Feature requests should be discussed on the rails-core mailing list here: