Rails i18n localization

translate, localizeの2つのメソッドを使う。それぞれ文言の変換と時刻の表示変換を担う。

translate # Lookup text translations
localize  # Localize Date and Time objects to local formats

これらは下記のエイリアスがある。

I18n.t 'store.title'
I18n.l Time.now

RSpec metadata

RSpecで独自metadataを利用する - Qiita

metadata をテストケースで宣言してそれによって処理内容を書き換える、みたいなパターンの実装。

# 特定条件下で skip したい前提処理 (before)
before do |example|
  next if example.metadata[:skip_before]

  # skip_before の値が正だと skip される処理
  @post = FactoryBot.create :post
end

it 'Test 1', :skip_before do
  expect(@post).to be_nil # before は skip されたので nil
  expect(user).to be_present
end

特定条件下で xxx の処理は skip したい!ってときに便利なパターン。