Skip to content

Instantly share code, notes, and snippets.

@danpecher
Created November 28, 2016 07:51
Show Gist options
  • Save danpecher/a06183f8484b1966dac6d2f8a15b24d5 to your computer and use it in GitHub Desktop.
Save danpecher/a06183f8484b1966dac6d2f8a15b24d5 to your computer and use it in GitHub Desktop.
Rails app template w/ rspec, factory_girl, capybara, rubymine debugging and useful gems
run 'rm Gemfile' # remove generated Gemfile
file 'Gemfile', <<-CODE
source 'https://rubygems.org'
gem 'rails', '~> 5.0.0'
gem 'pg'
gem 'puma'
gem 'jquery-rails'
gem 'jbuilder'
gem 'sass-rails'
gem 'uglifier'
gem 'simple_form'
# gem 'vuejs-rails'
# gem 'sprockets'
# gem 'sprockets-es6'
# gem 'lodash-rails'
# gem 'pg_search'
# gem 'gaffe'
# gem 'newrelic_rpm'
# gem 'aws-sdk'
# gem 'rest-client'
# gem 'closure_tree'
# gem 'will_paginate'
# gem 'money-rails'
# gem 'lupa'
# gem 'paperclip'
# gem 'responders'
# gem 'active_model_serializers'
# gem 'devise'
# gem 'sidekiq'
# gem 'wisper'
# gem 'wisper-sidekiq'
# gem 'oauth2'
group :development do
gem 'web-console'
gem 'listen', '~> 3.0.5'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'ruby-debug-ide'
gem 'debase'
gem 'letter_opener'
gem 'better_errors'
gem 'rails-footnotes'
gem 'bullet'
end
group :test do
gem 'rspec'
gem 'rspec-rails'
gem 'factory_girl_rails'
gem 'capybara'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
CODE
run 'rm README.md'
append_file('.gitignore') do
<<-EOF
.idea
.DS_Store
config/database.yml
public/stylesheets/*.css
public/system/*
*~
EOF
end
initializer 'debug.rb', <<-CODE
if ENV['RUBY_DEBUG_PORT']
require 'ruby-debug-ide'
Debugger.start_server nil, ENV['RUBY_DEBUG_PORT'].to_i
end
CODE
after_bundle do
run 'rvm env > .powenv'
append_file '.powenv' do
<<-EOF
export RUBY_DEBUG_PORT=1234
export POW_WORKERS=1
EOF
end
generate('simple_form:install')
generate('rspec:install')
git :init
git add: '.'
git commit: %Q{ -m 'Initial commit' }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment