Updating Old Projects Checklist
Last updated
Last updated
Ensure .ruby-version
exists in the root folder
Add to root folder
Add to the root folder
Ensure Procfile
exists and looks like
Ungitignore /db/*.sqlite3
and /db/*.sqlite3-journal
Remove circle.yml
file from the root folder if it exists.
Replace bin/setup
with
Ensure
is before system! "bundle install"
in bin/setup
.
Ensure bin/whitelist
exists and looks like
Ensure bin/server
exists and looks like
Add the following line, config.action_controller.default_protect_from_forgery = false
, after the load_defaults
.
Add the following line, config.active_record.belongs_to_required_by_default = false
, after the load_defaults
.
Add the following line, config.autoload_paths += %W(#{config.root}/app/vendor_models)
, after the load_defaults
.
Add the following line, config.autoload_paths += Dir["#{config.root}/app/vendor_models/**/"]
, after the load_defaults
.
Include Ruby version in Gemfile
Remove gem "console_ip_whitelist", github: "firstdraft/console_ip_whitelist"
to the development and test groups
Move sqlite3
gem to development and test groups
Add gem "tty-spinner"
to development group
Ensure gem "annotate", '< 3.0.0'
is present, if not add to the Gemfile
and install it with rails g annotate:install
Ensure gem 'activeadmin', '2.2.0'
and gem 'devise'
are using the RubyGems version instead of the GitHub.
Add gem "better_errors"
and gem "binding_of_caller"
to the development and test groups
Remove gem "draft_log", github: "firstdraft/draft_log"
if it's present and bundle
.
Ensure that gem "web_git", github: "firstdraft/web_git
is included. Start the server and ensure that navigating to /git
works.
Ensure all projects are ready to deploy to Heroku:
git rm whitelist.yml
if present
Ensure whitelist.yml
is gitignored
Ensure dev_tools
is removed from app/views/layouts/application.html.erb
Remove cloud9_plugins.sh
if present, and remove its line from gitignore
Ensure there is no tzinfo-data warning message when executing rails
commands. If there is run:
Ensure db:seeds
is doing AdminUser.create
and not AdminUser.create!
If vendor/app/models/
doesn't exist create it
Ensure admin_user.rb
is not in the app/models/
folder and is instead in vendor/app/models/
Ensure any use of Hash#[] changes to Hash#fetch in existing code
Ensure that in development.rb
the lines starting with path = Rails.root.join('whitelist.yml')
and ending with config.action_mailer.default_url_options = { host: "localhost", port: 3000 }
(non-inclusive) is replaced with:
bundle update
with the same minor Rails version
Make sure templates are explicitly rendered with the folder name, e.g. render("photo_templates/show.html.erb")
Make sure tests are all isolated in their own describe block that contains the action path, e.g "/coffee_beans" instead of "coffee beans index"
Make sure all tests that have only_path: true get replaced with ignore_query: true
Get rid of //= require_tree
. in application.js
Get rid of *= require_tree
. in application.css
Ensure that all targets have a rake task that runs every hour or so to reset the dev:prime data (since students fill it with garbage)
Open the project in Gitpod, ensure that bin/setup
completes, navigate to /git
, /admin
and ensure you can login. Ensure you can run rails grade
without errors.
Add a file to config/initializers
Replace the out-of-the-box backtrack_silencers.rb with
Add a file to config/initializers
Add a file to config/initializers
Add a file to config/initializers
Add a file to config/initializers
Ensure open_uri.rb
in config/initializers
looks like
If initializers/new_framework_defaults.rb
is present, remove it. Make sure that to a new Rails version did not break any behavior in the app.
Make sure the project setup steps in README are