【5.2.0版】rails new する際のオレオレやることリスト
最初に
- 自分用のメモとして随時更新していく
- アプリ名は sample にしているつもり
rails new
実行コード
rails new sample --webpack -d postgresql -B -T
ポイント
- webpack を導入
- postgresql を使う
- bundle install と unittest ファイルの生成はしない
haml 導入
- Gemfile に haml-rails 追加
bin/rake haml:erb2haml
実行- Gemfile から haml-rails 削除
- Gemfile に hamlit-rails 追加
sass 変更
- 全て読み込むファイルは定義するので一度 application.css ファイルは消してしまう
rm app/assets/stylesheets/application.css
touch app/assets/stylesheets/application.sass
でファイルだけ作っておく- Gemfile に sassc-rails 追加、
sass-rails
は削除
font-awesome-rails 追加
- Gemfile に font-awesome-rails 追加
- app/assets/stylesheets/applicaiton.sass に
@import font-awesome
追加
rspec 導入
- Gemfile に rspec-rails と factory_bot_rails 追加
- Gemfile の test group にcapybaraとselenium-webdriver
bin/rails generate rspec:install
実行
Bugsnag を入れる
- Gemfile に bugsnag-ruby 追加
config/initializers/bugsnag.rb
Bugsnag.configure do |config|
config.api_key = '発行されたapi-key'
config.notify_release_stages = %w(production staging)
config.ignore_classes.merge([
ActiveRecord::RecordNotFound,
SignalException,
])
ActiveSupport.on_load(:action_controller) do
config.ignore_classes.merge([
AbstractController::ActionNotFound,
ActionController::InvalidAuthenticityToken,
ActionController::ParameterMissing,
ActionController::RoutingError,
ActionController::UnknownFormat,
ActionController::UnknownHttpMethod,
])
end
end
dotenv を入れる
- Gemfile に dotenv 追加
gem 'dotenv-rails', require: 'dotenv/rails-now'
- .gitignore ファイルに
.env
追加 .env.sample
と.env
作成後、必要な環境変数を記入- 上の場合の sample はアプリ名ではない
Bundler.require(*Rails.groups)
Dotenv::Railtie.load
enumerize
- Gemfile に enumerize 追加
config gem
- Gemfile config 追加
rails g config:install
実行
CarrierWave
- Gemfile に carrierwave 追加
aws:
s3:
bucket: <%= ENV['AWS_S3_BUCKET'] %>
key_id: <%= ENV['AWS_S3_KEY_ID'] %>
secret_key: <%= ENV['AWS_S3_SECRET_KEY'] %>
region: <%= ENV['AWS_S3_REGION'] %>
CarrierWave.configure do |config|
if %w(production staging).include?(Rails.env)
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: Settings.aws.s3.key_id,
aws_secret_access_key: Settings.aws.s3.secret_key,
region: Settings.aws.s3.region
}
config.fog_directory = Settings.aws.s3.bucket
config.storage = :fog
config.fog_public = false
config.fog_authenticated_url_expiration = 60 * 60 * 24 # second
else
config.storage = :file
end
end
CarrierWave::SanitizedFile.sanitize_regexp = /[^[:print:]]/
CircleCI
- v2 対応
- selenium + chrome headless 想定
.circleci/config.yml
config/database.yml.circleci
test:
adapter: postgresql
encoding: unicode
database: sample_test
pool: 20
username: postgres
host: localhost