はじめに
毎回 rails new して初期設定するのが面倒なので、すぐ開発始められるようにプリセットを作ってみます。
採用技術
- Rails
- Ruby
- Yarn
- PostgreSQL
いざ実践
ruby最新バージョンを設定する
安定版の最新が2.5.3
なのでそれをインストールしていきます。
Homebrewをアップデート
$ brew update
Updated 1 tap (homebrew/core).
==> Updated Formulae
ruby-buildをアップデート
$ brew upgrade ruby-build
Updating Homebrew...
==> Upgrading 1 outdated package:
ruby-build 20180224 -> 20181019
==> Upgrading ruby-build
==> Downloading https://github.com/rbenv/ruby-build/archive/v20181019.tar.gz
==> Downloading from https://codeload.github.com/rbenv/ruby-build/tar.gz/v20181019
######################################################################## 100.0%
==> ./install.sh
🍺 /usr/local/Cellar/ruby-build/20181019: 417 files, 210.8KB, built in 13 seconds
2.5.3をインストール
$ rbenv install 2.5.3
ruby-build: use openssl from homebrew
Downloading ruby-2.5.3.tar.bz2...
使用するバージョンを2.5.3に指定
$ rbenv global 2.5.3
$ ruby -v
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin17]
最新のrailsをインストール
最新が5.2.1
なのでそれをインストールしていきます。
rails をインストール
$ gem install rails
$ rails -v
Rails 5.2.1
bundler をインストール
$ gem install bundler
Successfully installed bundler-1.17.1
Parsing documentation for bundler-1.17.1
Done installing documentation for bundler after 2 seconds
1 gem installed
rails の雛形を作る
rails new
DBはpostgresql
、テストユニットはスキップします。
$ rails new rails_preset -d postgresql -T
日本語化
config/application.rb
config.i18n.default_locale = :ja
日本語の言語ファイルを作成します
$ curl -s https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -o config/locales/ja.yml
タイムゾーンの設定
config/application.rb
config.time_zone = 'Tokyo'
rails generate時の生成ファイルの設定
css
js
helper
ファイルを生成しないようにします。
config.generators do |g|
g.assets false
g.javascripts false
g.helper false
g.test_framework false
end
Rspecインストール
関連gemを追加
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
gem 'rspec-rails', '~> 3.8'
gem 'factory_bot_rails'
end
group :test do
gem 'capybara'
gem 'database_cleaner'
end
rspecの設定コマンド
$ rails generate rspec:install
database_cleanerの設定
以下の行のコメントアウトを外す
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
spec/support/database_cleaner.rb
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.append_after(:each) do
DatabaseCleaner.clean
end
end
factory botの設定
spec/support/factory_bot.rb
RSpec.configure do |config|
config.include FactoryBot::Syntax::Methods
end
slimをインストール
Gemfile
gem 'slim-rails'
config/application.rb
config.generators.template_engine = :slim
既存のerbファイルをslimに変換
$ gem install html2slim
$ erb2slim app/views/ app/views/ -d
開発ツールをインストール
gem 'annotate'
gem 'better_errors'
gem 'binding_of_caller'
gem 'bullet'
gem 'hirb'
gem 'hirb-unicode'
gem 'letter_opener_web'
gem 'pry-rails'
gem 'pry-byebug'
ソースコード
ソースはこちらにあげてます