ActiveRecordのrewhereメソッド

ちょっとどのような状況で使うのか、まだピンと来ないけどActiveRecordにはrewhereっていうメソッドがある。
これを使うと前に宣言していたwhere条件をoverrideすることができる。

#rewhereを使ってもその前にpointっていうカラムで条件指定してないからoverrideされない
Todo.where(title: 'test').rewhere(point: 10)
 -> SELECT "job_cards".* FROM "job_cards"  WHERE "job_cards"."type" IN ('Todo') AND "job_cards"."title" = 'test' AND "job_cards"."point" = 10

#rewhereでtitleの指定を上書き
Todo.where(title: 'test').rewhere(title: 'hoge')
  Todo Load (0.1ms)  SELECT "job_cards".* FROM "job_cards"  WHERE "job_cards"."type" IN ('Todo') AND "job_cards"."title" = 'hoge'