ActiveRecord::Locking::Optimistic

Railsの楽観ロックの仕組み。

lock_versionカラムが存在すると機能する。更新に失敗したらActiveRecord::StaleObjectError が上がる仕組み。

p1 = Person.find(1)
p2 = Person.find(1)

p1.first_name = "Michael"
p1.save

p2.first_name = "should fail"
p2.save # Raises an ActiveRecord::StaleObjectError

GitHub Actionsで動かすRubocopを高速化する

  • ~/.cache/rubocop_cache で速くなる
  • –parallel オプションで速くなる