Simple ActionCable chat extension
Branch: master
Clone or download
Latest commit c846287 Jul 15, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Dont allow empty messages to get created Jul 16, 2017
bin Lots of fixups and style fixes. Upgrade to latest ruby and rails Jul 2, 2017
config Lots of fixups and style fixes. Upgrade to latest ruby and rails Jul 2, 2017
lib Version bump to 1.0.0 Jul 16, 2017
test Fixup styles and fixing trying to create a convo that exists Jul 10, 2017
.gitignore Ignore avatar images in the dummy app Sep 18, 2016
.rubocop.yml Fix last of rubocops Jul 2, 2017
Gemfile Fix last of rubocops Jul 2, 2017
MIT-LICENSE Add rails new plugin files. Add asset files for chats Sep 11, 2016
Rakefile Fix last of rubocops Jul 2, 2017


Simple Rails chat plugin that allows users to talk to one or more people at a time that leverages ActionCable.

A demo of functionality can be found:

Getting Started


  1. This gem relies on ActionCable therefore Rails 5.0.0 is a minimum.
  2. For help setting up ActionCable when coming from an older version of Rails, view this.
  3. An authentication system must be setup before installing chat, like Devise, Clearance, or your own custom solution. The generator will only run unless a users table exists.
  4. Chat assumes that a current_user view helper method exists.
  5. Your connection should be identified by current_user. You can learn more about how to set this up by reading here.


Add Chat to your application's Gemfile:

gem 'chat'

And then execute:

❯ bundle

Run the installer to setup migrations and helpers and then migrate:

❯ rails generate chat:install
❯ rails db:migrate

Require chat in your app/assets/javascripts/application.js file:

//= require chat

Require chat in your app/assets/stylesheets/application.css file

 *= require chat

Finally, add the following line to your application.html.erb file or any view file you'd like Chat available from:

<%= render_chat %>

Dot Commands

Dot commands behave differently than regular messages and begin with a dot(.). The following commands are available:

  • .shrug followed by an optional message outputs a srugging emoticon
  • .gif following by a label fetches a random gif from giphy with the given label


Bug reports and pull requests are welcome on GitHub at


The gem is available as open source under the terms of the MIT License.