Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Upgrade to Rails 4.1 #21

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
989c3da
Initial commit: Rails 4.1.beta1 new
ericboehs Jan 15, 2014
f68eed5
Rename app to "MyApp" (and switch to postresql)
ericboehs Jan 9, 2014
f88236e
Add bin/rename
ericboehs Jan 9, 2014
ad2dc16
Add .env.example
ericboehs Jan 10, 2014
fc21675
Clean Gemfile; Add dotenv; Use secret_token initializer over secrets.yml
ericboehs Jan 10, 2014
0020825
Add bin/setup; Add database overide which allows resetting db while c…
ericboehs Jan 10, 2014
bfaff6b
Add logger for AR validation errors
ericboehs Jan 10, 2014
b9d8785
Add unicorn and thin (dev) web servers
ericboehs Jan 10, 2014
ed0fdfb
Herokuify: Procfile and ruby version in Gemfile
ericboehs Jan 10, 2014
2f79c78
Add envrc (make sure you direnv allow it)
ericboehs Jan 10, 2014
c721b53
Always use SSL in production
ericboehs Jan 10, 2014
13e63d7
Add UUID to log entries on production
ericboehs Jan 10, 2014
6541c9a
Silence SQL and other logging in test
ericboehs Jan 10, 2014
ea7fce7
Use memcache in dev and prod
ericboehs Jan 10, 2014
fd9b5a1
Setup assets in production
ericboehs Jan 10, 2014
4e14f4b
Add american_date gem for native MM/DD/YY parsing
ericboehs Jan 14, 2014
adfb45d
Add momentjs for javascript time parsing
ericboehs Jan 14, 2014
31f7420
Add pry gems for development and test
ericboehs Jan 14, 2014
5d10623
Add minitest
ericboehs Jan 14, 2014
2aa7797
Add minitest reporters (turn replacement)
ericboehs Jan 14, 2014
b0cbc3b
Add autotest-rails for running tests in changes
ericboehs Jan 14, 2014
3025c9d
Rename `rename` to `rails-rename` to avoid conflict
ericboehs Jan 15, 2014
454b946
Add lots of environment tests
ericboehs Jan 15, 2014
3c2d099
Add old README.md
ericboehs Jan 15, 2014
1b4e1bd
Replace 'rails-template' with dynamic app name
ericboehs Jan 15, 2014
c124082
Add back contributing.md
ericboehs Jan 15, 2014
c8b38e5
SQUASH ME: Remove unnecessary require 'mkmf' (clean up)
ericboehs Jan 15, 2014
4a133d9
Add QueueClassic
ericboehs Jan 15, 2014
c41f668
Protect us from ourselves (Raise on ForbiddenAttr)
ericboehs Jan 15, 2014
2435896
Add rack canonical host
ericboehs Jan 15, 2014
597faaf
Add font_assets gem and fonts to the pipeline
ericboehs Jan 16, 2014
810a6fd
Add $PWD to $PATH in .envrc
ericboehs Jan 20, 2014
1ceedd6
Add slim and high voltage
ericboehs Jan 23, 2014
8893ad9
Remove the need for rails-rename (using .env)
ericboehs Jan 23, 2014
3b0ebdc
Add twitter bootstrap 3; Switch to application.css.sass
ericboehs Jan 23, 2014
d667f29
Add simple_form
ericboehs Jan 23, 2014
1a702a7
SQUASH ME: Switch nameless module syntax
ericboehs Jan 23, 2014
131c70f
Switch to .git/safe; check rails cache differently
ericboehs May 3, 2014
ee1f8e9
Update all gems (rails 4.1.0 and friends)
ericboehs May 3, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
APPNAME=<appname>
APP_NAME=my_app
APP_NAME_DASHED=my-app
DEVELOPER_EMAIL=$(git config user.email)

# To quickly generate a 128-character token, you can use:
Expand All @@ -7,14 +8,16 @@ DEVELOPER_EMAIL=$(git config user.email)
#
# And to configure heroku:
# heroku config:add RAILS_SECRET_TOKEN=$(ruby -e "puts rand(36**128).to_s(36)") -r production
export RAILS_SECRET_TOKEN=dw19w73upxp02rxrmsy2vbg7o0lmhqepsm4s3zw5iyz0hccs1a9tbflcxhnk19ivdlgdlio4nevbxfi5rlcpkpwx6
export RAILS_SECRET_TOKEN=dhb0h20edrflpzdy3b6ywdkijegvzvo9hnwoh6qegw2ytn0klvvmhdgczkkefxl1c6kgszzgogomayo

export DATABASE_URL=postgresql://localhost/${APP_NAME}_development

export EMAIL_RECIPIENTS=$DEVELOPER_EMAIL
export MAIL_DELIVERY_METHOD=letter_opener

export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export FOG_DIRECTORY=$APPNAME-dev-$USER
export FOG_DIRECTORY=$APP_NAME_DASHED-dev-$USER
export FOG_PROVIDER=AWS

export [email protected]
Expand All @@ -35,6 +38,6 @@ export USER_NAME='Chester Tester'
export USER_PASSWORD=password

# Settings for the dev/admin seed user:
export ADMIN_EMAIL=$DEVELOPER_EMAIL
export ADMIN_NAME=$(get config user.name)
export ADMIN_PASSWORD=ridiculous
export ADMIN_EMAIL=[email protected]
export ADMIN_NAME='Adam Minister'
export ADMIN_PASSWORD=password
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export PATH=$PWD/vendor/bundle/bin:$PWD/bin:$PATH
17 changes: 4 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,33 +1,24 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'

# Ignore bundler config.
.bundle
/.bundle
vendor/bundle

# Ignore any SQLite databases.
db/*.sqlite3
db/*.sqlite3-journal

# Ignore all logfiles and tempfiles.
log/*.log
/log/*.log
log/*.yml
tmp

# Ignore enviroment variable files
.env*
!.env.example
!.envrc
.powenv

# Ignore local TDDium config
.tddium*

# Ignore .rvmrc (used by RVM for certain environments)
.rvmrc

# Ignore swp files
*.swp

Expand Down
120 changes: 36 additions & 84 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,92 +1,44 @@
source 'https://rubygems.org'

ruby '2.0.0' # Tell heroku to use ruby 2.0.0

gem 'rails', '4.0.0' # Latest version of the best web framework in the world

gem 'american_date', '~> 1.1.0' # American style month/day/year date parsing
gem 'authority', '~> 2.9.0' # Authorize user actions in your Rails app
gem 'bootstrap-sass', '~> 3.0.0.0' # Twitter Bootstrap front-end framework
gem 'carrierwave', '~> 0.9.0' # Server side file uploads (hand off from s3_direct_upload)
gem 'coffee-rails', '~> 4.0.0' # Outside assets for respondes to coffee
gem 'compass-rails', '~> 1.1.2' # CSS framework
gem 'dalli', '~> 2.6.4' # Caching with Memcached
gem 'devise', '~> 3.1.1' # Authentication with Warden
gem 'fog', '~> 1.14.0' # Ruby cloud services library (used by carrierwave)
gem 'font_assets', '~> 0.1.10' # Addresses Access-Control-Allow-Origin asset problems in Firefox
gem 'has_scope', '~> 0.5.1' # Easy controller scopes
gem 'high_voltage', '~> 2.0.0' # Static pages
gem 'jquery-fileupload-rails', '~> 0.4.1' # Direct upload files to S3
gem 'jquery-rails', '~> 3.0.4' # jQuery yo
gem 'memcachier', '~> 0.0.2' # Simple memcachier configuration
gem 'mini_magick', '~> 3.6.0' # Image resizing for carrierwave
gem 'momentjs-rails', '~> 2.2.1' # JS time library
gem 'newrelic_rpm', '~> 3.6.8.168' # Production monitoring
gem 'nprogress-rails', '~> 0.1.2.2' # Loading bar for turbolinks
gem 'pg', '~> 0.17.0' # Postgres ActiveRecord adapter
gem 'queue_classic', '~> 2.2.3' # Backgrounding queue that uses postgres for db
gem 'rack-canonical-host', '~> 0.0.8' # Automatically redirect to canonical host
gem 'rack-mini-profiler', '~> 0.1.29' # Middleware that displays speed badge for every html page
gem 'redcarpet', '~> 3.0.0' # Add markdown parsing and rendering
gem 'responders', '~> 1.0.0.rc' # Minimal controllers via responders.yml
gem 'retina_tag', '~> 1.2.2' # Retina image tags
gem 'rolify', '~> 3.3.0.rc4' # Role management library with resource scoping
gem 'rollout', '~> 2.0.0' # Feature flipper
gem 's3_direct_upload', '~> 0.1.6' # Client-side straight-to-s3 file uploads
gem 'sass-rails', '~> 4.0.0' # CSS3 extension (mixins, variables, nesting, etc)
gem 'selectize-rails', '~> 0.8.1' # Textbox/select autocopmlete for tagging and contact lists
gem 'simple_form', '~> 3.0.0.rc' # Simplified DSL for forms'''
gem 'slim-rails', '~> 2.0.3' # Our favorite Ruby templating engine for html
gem 'turbolinks', '~> 1.3.0' # Makes following links in your web application faster
gem 'uglifier', '>= 1.0.3' # Makes your JS ugly (compressed)
gem 'unicorn', '~> 4.6.2' # HTTP server for fast clients on low-latency, high-bandwidth connections
gem 'validates_existence', '~> 0.8.0' # Validates Rails model belongs_to association existence
gem 'will_paginate', '~> 3.0.5' # Pagination
ruby '2.1.1'

gem 'rails', '4.1.0'

gem 'american_date', '~> 1.1.0' # American style month/day/year date parsing
gem 'dalli', '~> 2.7.0' # High performance memcached client
gem 'pg', '~> 0.17.1' # Postgres ActiveRecord adapter
gem 'queue_classic', '~> 3.0.0rc' # Backgrounding queue that uses postgres for its queue
gem 'rack-canonical-host', '~> 0.1.0' # Automatically redirect to canonical host
gem 'simple_form', '~> 3.0.1' # Forms made easy
gem 'unicorn', '~> 4.8.2' # HTTP server for fast clients on low-latency, high-bandwidth connections

# Asset/View related gems
gem 'bootstrap-sass', '~> 3.1.1.1' # Sleek, intuitive, and powerful mobile first front-end framework
gem 'coffee-rails', '~> 4.0.0' # Add Coffescript support to the asset pipeline
gem 'font_assets', '~> 0.1.10' # Addresses Access-Control-Allow-Origin asset problems in Firefox
gem 'high_voltage', '~> 2.1.0' # Easily include static pages
gem 'jquery-rails', '~> 3.1.0' # jQuery 1.10 for pipeline
gem 'momentjs-rails', '~> 2.6.0' # JavaScript Time Library
gem 'sass-rails', '~> 4.0.3' # CSS3 extension (mixins, variables, nesting, etc)
gem 'slim-rails', '~> 2.1.4' # A fast, lightweight templating engine
gem 'turbolinks', '~> 2.2.2' # Makes following links in your web application faster
gem 'uglifier', '~> 2.5.0' # Makes your JS ugly (compressed)

gem 'jbuilder', '~> 2.0.7' # Build JSON APIs with ease

gem 'sdoc', group: :doc, require: false # bundle exec rake doc:rails generates the API under doc/api

group :development do
gem 'awesome_print' # Inspect your objects with style (and color)
gem 'brakeman' # Security auditing
gem 'bullet' # Finds your N+1 problems
gem 'foreman' # Manage Procfile-based applications (run multiple ruby processes by running foreman)
gem 'binding_of_caller' # Provide advanced features for better_errors pages
gem 'better_errors' # More helpful error pages in development
gem 'letter_opener' # Open development emails in a browser instead of sending them
gem 'lol_dba' # Scan your models for columns that (probably) should be indexed
gem 'quiet_assets' # No more "Served asset" in your logs
gem 'rails_best_practices' # Code metric tool for showing best practices you're missing out on
gem 'switch_user' # Easily switch users in dev
gem 'thin' # Fast threaded HTTP server for local development
gem 'traceroute' # Finds unused routes
gem 'xray-rails' # See into your views to easily open a partial from your browser
gem 'spring' # Spring speeds up development by keeping your application running in the background
gem 'thin' # Fast threaded HTTP server for local development
end

group :development, :test do
gem 'dotenv-rails' # Autoload ENV vars in .env
gem 'pry-awesome_print' # Auto AP in pry
gem 'pry-rails' # Interactive REPL debugger
gem 'pry-plus' # Add a bunch of awesome pry stuff (rescue, stack_explorer, doc)
gem 'pry-remote' # Use pry with pow
gem 'recipient_interceptor' # Intercept recipients when delivering email with the Mail gem
gem 'table_print' # Explore your ActiveRecord data with ease
end

group :test do
gem 'capybara' # Acceptance test framework
gem 'capybara_minitest_spec' # Integrates capybara and minitest; Duh
gem 'database_cleaner' # Cleans db between test runs
gem 'factory_girl_rails' # For stubbing/creating objects with factories
gem 'minitest-metadata' # Metadata (key-value) support for minitest/spec
gem 'minitest-spec-rails' # Nice minitest integration with Rails
gem 'poltergeist' # Uses phantomjs to headlessly test your views
gem 'simplecov', require: false # Test coverage reporting
gem 'timecop' # Freeze/change time for your tests
end

group :staging, :production do
gem 'rails_12factor', '~> 0.0.2' # Heroku gem for logging and asset serving
gem 'heroku', '~> 3.0.1' # For continous deployment
end

group :production do
gem 'airbrake', '~> 3.1.12' # Logs exceptions on airbrake.io
gem 'autotest-rails' # Run 'autotest' to continually run your tests on change
gem 'dotenv-rails' # Autoload ENV vars in .env
gem 'minitest-spec-rails' # MiniTest integration for Rails 3 and 4
gem 'minitest-reporters' # Customizable MiniTest output formats
gem 'pry-awesome_print' # Auto AP in pry
gem 'pry-rails' # Interactive REPL debugger
gem 'pry-plus' # Add a bunch of awesome pry stuff (rescue, stack_explorer, doc)
end
Loading