railsjazz / rails_live_reload

Live Reload for your Rails app. The easiest way to increase your productivity.
https://www.railsjazz.com/
MIT License
318 stars 8 forks source link
livereload ruby ruby-on-rails

Rails Live Reload

RailsJazz Listed on OpenSource-Heroes.com

RailsLiveReload

This is the simplest and probably the most robust way to add live reloading to your Rails app.

Just add the gem and thats it, now you have a live reloading. You don't need anything other than this gem for live reloading to work.

Works with:

The page is reloaded fully with window.location.reload() to make sure that every chage will be displayed.

Usage

Just add this gem to the Gemfile (in development environment) and start the rails s.

Installation

Add this line to your application's Gemfile:

group :development do
  gem "rails_live_reload"
end

And then execute:

$ bundle

Configuration

run command:

rails generate rails_live_reload:install

The generator will install an initializer which describes RailsLiveReload configuration options.

How it works

There are 3 main parts:

1) listener of file changes (using listen gem) 2) collector of rendered views (see rails instrumentation) 3) JavaScript client that communicates with server and triggers reloading when needed

Notes

The default configuration assumes that you either use asset pipeline, or that your assets compile quickly (on most applications asset compilation takes around 50-200ms), so it watches for changes in app/assets and app/javascript folders, this will not be a problem for 99% of users, but in case your asset compilation takes couple of seconds, this might not work propperly, in that case we would recommend you to add configuration to watch output folder.

Contributing

You are welcome to contribute. See list of TODO's below.

<img src="https://opensource-heroes.com/svg/embed/railsjazz/rails_live_reload" />

TODO

Troubleshooting

License

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

<img src="https://github.com/igorkasyanchuk/rails_time_travel/blob/main/docs/more_gems.png?raw=true" />