Brace
¶ ↑
Brace
is a base Rails application.
Installation¶ ↑
First install the brace gem:
gem install brace
Then run:
brace projectname
This will create a Rails app in projectname
.
Gemfile¶ ↑
To see the latest and greatest gems, look at Brace's Gemfile, which will be appended to the default generated projectname/Gemfile.
It includes application gems like:
-
Rollbar for exception notification
-
Bourbon for Sass mixins
-
Bitters for scaffold application styles
-
Devise for user authentication
-
Stripe for payments
-
Sidekiq for background processing
-
Email Validator for email validation
-
High Voltage for static pages
-
jQuery Rails for jQuery
-
React Rails for React Components
-
Neat for semantic grids
-
New Relic RPM for monitoring performance
-
Normalize for resetting browser styles
-
Postgres for access to the Postgres database
-
Rack Timeout to abort requests that are taking too long
-
Refills for “copy-paste” components and patterns based on Bourbon, Neat and Bitters
-
Title for storing titles in translations
-
Puma to serve HTTP requests
And development gems like:
-
Dotenv for loading environment variables
-
Pry Rails for interactively exploring objects
-
ByeBug for interactively debugging behavior
-
Bundler Audit for scanning the Gemfile for insecure dependencies based on published CVEs
-
Spring for fast Rails actions via pre-loading
-
Better Errors for better debugging via in-browser IRB consoles.
And testing gems like:
-
Factory Girl for test data
-
RSpec for unit testing
-
RSpec Mocks for stubbing and spying
-
Shoulda Matchers for common RSpec matchers
-
Timecop for testing time
Other goodies¶ ↑
Brace
also comes with:
-
The {
./bin/setup
} convention for new developer setup -
The
./bin/deploy
convention for deploying to Heroku -
Rails' flashes set up and in application layout
-
A few nice time formats set up for localization
-
Rack::Deflater
to compress responses with Gzip -
An automatically-created
SECRET_KEY_BASE
environment variable in all environments -
The analytics adapter Segment (and therefore config for Google Analytics, Intercom, Facebook Ads, Twitter Ads, etc.)
Heroku¶ ↑
You can optionally create Heroku staging and production apps:
brace app --heroku true
This:
-
Creates a staging and production Heroku app
-
Sets them as
staging
andproduction
Git remotes -
Configures staging with
RACK_ENV
andRAILS_ENV
environment variables set tostaging
-
Adds the Rails Stdout Logging gem to configure the app to log to standard out, which is how Heroku’s logging works.
You can optionally specify alternate Heroku flags:
brace app \ --heroku true \ --heroku-flags "--region eu --addons newrelic,pgbackups,sendgrid,ssl"
See all possible Heroku flags:
heroku help create
Git¶ ↑
This will initialize a new git repository for your Rails app. You can bypass this with the --skip-git
option:
brace app --skip-git true
GitHub¶ ↑
You can optionally create a GitHub repository for the suspended Rails app. It requires that you have Hub on your system:
curl http://hub.github.com/standalone -sLo ~/bin/hub && chmod +x ~/bin/hub brace app --github organization/project
This has the same effect as running:
hub create organization/project
Dependencies¶ ↑
Brace
requires the latest version of Ruby.
Some gems included in Brace
have native extensions. You should have GCC installed on your machine before generating an app with Brace
.
Use OS X GCC Installer for Snow Leopard (OS X 10.6).
Use Command Line Tools for XCode for Lion (OS X 10.7) or Mountain Lion (OS X 10.8).
PostgreSQL needs to be installed and running for the db:create
rake task.
Credits¶ ↑
Brace
is an extension of {thoughtbot, inc}[http://thoughtbot.com/community]‘s suspenders. Thanks thoughtbot for making a great Rails templating gem.
License¶ ↑
Brace
is free software, and may be redistributed under the terms specified in the LICENSE file.