Logux Rails
Add WebSockets, live-updates and offline-first to Ruby on Rails with Logux. This gem will add Logux Back-end Protocol to Ruby on Rails and then you can use Logux Server as a proxy between WebSocket and your Rails application.
Read Creating Logux Proxy guide.
Installation
Add this line to your application's Gemfile:
gem 'logux_rails'
And then execute:
bundle
Usage
First of all, you have to configure Logux, by defining server address in, for example, config/initializers/logux.rb
:
Logux.configuration do |config|
config.logux_host = 'http://localhost:31338'
end
Mount logux in routes:
mount Logux::Engine => '/'
After this, POST requests to /logux
will be processed by LoguxController
. You can redefine it or inherit from, if it necessary, for example, for implementing custom authorization flow.
Logux Rails will try to find Action for the specific message from Logux Server. For example, for project/rename
action, you should define Action::Project
class, inherited from Logux::Action
base class, and implement rename
method.
You can execute rake logux:actions
to get the list of available action types, or rake logux:channels
to get the list of available channels.
Development with Docker
After checking out the repo, run:
docker-compose run app bundle install
docker-compose run app bundle exec appraisal install
Run tests with:
docker-compose run app bundle exec appraisal rspec
Run RuboCop with:
docker-compose run app bundle exec rubocop
License
The gem is available as open source under the terms of the MIT License.