Skip to content

Instantly share code, notes, and snippets.

@wrburgess
Created October 28, 2013 16:11
Show Gist options
  • Save wrburgess/7199751 to your computer and use it in GitHub Desktop.
Save wrburgess/7199751 to your computer and use it in GitHub Desktop.
Rails 4 Bootstrap
class InitialSetup < ActiveRecord::Migration
def change
create_table "models", force: true do |t|
t.string "string_field"
t.integer "number_field"
t.boolean "truefalse_field"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
end
source "https://rubygems.org"
ruby "2.1.0"
gem "rails", "4.0.2"
gem "active_model_serializers", "0.8.1"
gem "haml-rails", "0.5.3"
gem "jquery-rails", "3.1.0"
gem "pg", "0.17.1"
gem "sass-rails", "4.0.1"
gem "settingslogic", "2.0.9"
gem "uglifier", "2.4.0"
gem "unicorn", "4.8.1"
group :production do
gem "rails_12factor", "0.0.2"
end
group :development do
gem "better_errors", "1.1.0"
gem "binding_of_caller", "0.7.2"
end
group :development, :test do
gem "capybara", "2.2.1"
gem "database_cleaner", "1.2.0"
gem "factory_girl_rails", "4.3.0"
gem "faker", "1.2.0"
gem "figaro", "0.7.0"
gem "fuubar", "1.3.2"
gem "pry-rails", "0.3.2"
gem "pry-remote", "0.1.8"
gem "rspec-rails", "2.14.1"
gem "shoulda", "3.5.0"
end
/.bundle
/db/*.sqlite3
/db/*.sqlite3-journal
/log/*.log
/tmp
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
.rvmrc
/.bundle
/vendor/bundle
/log/*
/tmp/*
/db/*.sqlite3
/public/system/*
/coverage/
/spec/tmp/*
**.orig
rerun.txt
pickle-email-*.html
.project
config/initializers/secret_token.rb
.DS_Store
dump.rdb
*.sublime-workspace
*.sublime-project
.powrc
.env
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
--format Fuubar
--color

install rails

rails create [app_name]

install rspec

rm -rf test

rails generate rspec:install

install figaro

rails generate figaro:install

create staging env

cp config/environments/production.rb config/environments/staging.rb

git config heroku.remote staging

heroku config:set RACK_ENV=staging RAILS_ENV=staging

set up capybara with rspec

//= require jquery
//= require jquery_ujs
body {
}
header {
}
h1, h2, h3, h4 {
}
.main {
}
footer {
}
$darkest: #000000;
$brightest: #ffffff;
$dark_blue: #0033cc;
$dark_red: #cc0000;
- [:notice, :error, :alert].each do |level|
- unless flash[level].blank?
.alert{:class => "#{flash_class(level)}"}
%a.close{ href: "#" }
x
= content_tag :p, flash[level]
!!!
%html{ lang: "en" }
%head
%meta{ charset: "utf-8" }
%meta{ name: "viewport", content: "width=device-width, initial-scale=1, maximum-scale=1"}
%title= content_for?(:title) ? yield(:title) : "[APP NAME]"
%meta{ content: "", name: "description" }
%meta{ content: "", name: "keywords" }
= stylesheet_link_tag "application", :media => "all"
= javascript_include_tag "application"
= csrf_meta_tags
= yield(:head)
%body{ class: "#{params[:controller]} #{params[:action]}" }
%header
= render 'layouts/header'
.main
= render 'layouts/notices'
= yield
%footer
= render 'layouts/footer'
@import "variables";
@import "fonts";
@import "style";
defaults: &defaults
app_name: "[app_name]"
test:
<<: *defaults
app_server: "Test"
development:
<<: *defaults
app_server: "Development"
staging:
<<: *defaults
app_server: "Staging"
production:
<<: *defaults
app_server: "Production"
development:
adapter: postgresql
host: localhost
username: postgres
database: [db_name]_dev
pool: 5
timeout: 5000
test:
adapter: postgresql
database: [db_name]_test
username: postgres
class AppSettings < Settingslogic
source "#{Rails.root}/config/app_settings.yml"
namespace Rails.env
end
[App_Name]::Application.config.secret_key_base = ENV["APP_SECRET_KEY_BASE"]
worker_processes 4
timeout 30
preload_app true
before_fork do |server, worker|
if defined?(ActiveRecord::Base)
ActiveRecord::Base.connection.disconnect!
Rails.logger.info('Disconnected from ActiveRecord')
end
if defined?(Resque)
Resque.redis.quit
Rails.logger.info('Disconnected from Redis')
end
sleep 1
end
after_fork do |server, worker|
if defined?(ActiveRecord::Base)
ActiveRecord::Base.establish_connection
Rails.logger.info('Connected to ActiveRecord')
end
if defined?(Resque)
Resque.redis = ENV['REDIS_URI']
Rails.logger.info('Connected to Redis')
end
end
namespace :app_name do
desc "Rebuild db with drop, create, migrate, test:prepare (dev only)"
task :rebuild => :environment do
input = ''
STDOUT.puts "Drop, recreate, and migrate app database? y[es] or n[o]"
input = STDIN.gets.chomp
if input == "y" && Rails.env == 'development'
Rake::Task["db:drop"].execute
Rake::Task["db:create"].execute
Rake::Task["db:migrate"].execute
Rake::Task["db:test:prepare"].execute
else
puts "Aborting app_name:rebuild tasks"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment