Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Skeleton for new Rails based projects
Ruby CSS HTML Other

Merge pull request #248 from fs/update-readme-with-bin-setup

Replace bin/bootstrap with bin/setup in README
latest commit 39d17032f8
@timurvafin timurvafin authored

README.md

Rails Base

Build Status Test Coverage Code Climate

Rails Base is the base Rails application template used at Flatstack. It's based on Rails 4 and Ruby 2.1.5.

Application Gems

Development Gems

  • Thin as Rails web server
  • Foreman for managing development stack with Procfile
  • Letter Opener for opening mail in the browser instead of sending it
  • Bullet for detecting N+1 queries and unused eager loading
  • Rubocop for reporting violations of the Ruby style guide
  • Rails Best Practices for checking the code quality
  • Brakeman for checking application for common security vulnerabilities
  • Pry Rails for interactively exploring objects
  • Bundler Audit for scanning the Gemfile for insecure dependencies based on published CVEs

Testing Gems

Initializers

  • 01_config.rb - shortcut for getting application config with app_config
  • mailer.rb - setup default hosts for mailer from configuration
  • requires.rb - automatically requires everything in lib/ & lib/extensions

Scripts

  • bin/setup - setup required gems and migrate db if needed
  • bin/quality - runs rubocop, brakeman, rails_best_practices and bundle-audit for the app
  • bin/ci - should be used in the CI or locally
  • bin/server - to run server locally

Getting Started

Clone application as new project with original repository named "rails-base"

git clone --depth 1 git://github.com/fs/rails-base.git --origin rails-base [MY-NEW-PROJECT]

Note: we use depth parameter here in order not to copy the history of changes in base project

Create your new repo on GitHub and push master into it. Make sure master branch is tracking origin repo.

git remote add origin git@github.com:[MY-GITHUB-ACCOUNT]/[MY-NEW-PROJECT].git
git push -u origin master

Run setup script

bin/setup

Make sure all test are green

bin/ci

Run app

bin/server

Do not forget to update this file!

mv doc/README_TEMPLATE.md README.md
# update README.md
git commit -am "Update README.md"

Updating Existing Projects With New Changes From Rails Base

You can fetch latest changes from rails-base repo and merge or cherry-pick commits

git fetch rails-base
git flow feature start rails-base-update
git merge rails-base/master

# fix conflicts
# commit
# test

git flow feature finish rails-base-update

Overriding Foundation Settings

Do your overrides in the app/assets/stylesheets/core/_foundation_and_overrides.scss

Credits

Rails Base is maintained by Timur Vafin. It was written by Flatstack with the help of our contributors.

Flatstack

Something went wrong with that request. Please try again.