Getting Started

Installation

Ensure you have Webpacker and React installed. Add the following to your Gemfile and run bundle

# Gemfile
gem 'breezy'

Run the installation generator

rails breezy:install:web

Generate a scaffold

rails generate scaffold post body:string --force --no-template-engine --breezy

Configuration

The rails breezy:install:web step adds a preconfigured entry point in app/javascript/packs/application.js.

Custom Reducers

The generator will also add a reducer.js file for any custom reducer you'd like to add. Included in the reducer is a pagesReducer for any cross-page optimistic updates, and a applicationRootReducer for the entire store. The latter is used for Redux Persist, which you can customize to your needs.

Custom Visit and Remote

The visit and remote thunks can be customized in app/javascript/packs/application_visit.js. Functionality like loading indicators can be added there.

Configuring Reloads

Breezy will do a hard reload whenever a successful response returns new asset fingerprints. Add an initializer to control how Breezy tracks Sprockets and Webpack assets:

# defaults
Breezy.configure do |config|
  config.track_sprockets_assets = ['application.js', 'application.css']
  config.track_pack_assets = ['application.js']
end

Last updated