Skip to content

Instantly share code, notes, and snippets.

@louisscruz
Last active October 2, 2017 16:25
Show Gist options
  • Save louisscruz/85d8d9e188455961134d26f1b5dda1ca to your computer and use it in GitHub Desktop.
Save louisscruz/85d8d9e188455961134d26f1b5dda1ca to your computer and use it in GitHub Desktop.
Add Livereload
Rails.application.configure do
# Add this line to the development.rb:
config.middleware.insert_before Rack::Runtime, Rack::LiveReload
end
group :development do
gem 'guard-livereload', '~> 2.5', require: false
gem 'rack-livereload'
end
# You can create a Guardfile with 'guard init'
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
## Uncomment and set this to only include directories you want to watch
# directories %w(app lib config test spec features) \
# .select{|d| Dir.exists?(d) ? d : UI.warning('Directory #{d} does not exist')}
## Note: if you are using the `directories` clause above and you are not
## watching the project directory ('.'), then you will want to move
## the Guardfile to a watched dir and symlink it back, e.g.
#
# $ mkdir config
# $ mv Guardfile config/
# $ ln -s config/Guardfile .
#
# and, you'll have to watch 'config/Guardfile' instead of 'Guardfile'
guard 'livereload' do
extensions = {
css: :css,
scss: :css,
sass: :css,
js: :js,
coffee: :js,
html: :html,
png: :png,
gif: :gif,
jpg: :jpg,
jpeg: :jpeg
}
rails_view_exts = %w(erb haml slim)
compiled_exts = extensions.values.uniq
watch(%r{public/.+\.(#{compiled_exts * '|'})})
extensions.each do |ext, type|
watch(%r{
(?:app|vendor)
(?:/assets/\w+/(?<path>[^.]+) # path+base without extension
(?<ext>\.#{ext})) # matching extension (must be first encountered)
(?:\.\w+|$) # other extensions
}x) do |m|
path = m[1]
"/assets/#{path}.#{type}"
end
end
watch(%r{app/views/.+\.(#{rails_view_exts * '|'})$})
watch(%r{app/helpers/.+\.rb})
watch(%r{config/locales/.+\.yml})
end
@louisscruz
Copy link
Author

After updating the above files:

  1. Run "bundle install"
  2. Run "gem install guard".
  3. Run "guard" inside your project.
  4. Open another tab and run "rails s"
  5. Visit http://localhost:3000
  6. If changes aren't caught, try refreshing the browser or restarting the rails server or restarting guard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment