操作
バグ #1019
完了MessageMixinの:modifiedが変更できないのだ
プラグイン名:
MessageMixin
ブランチ:
クラッシュする:
説明
MessageMixInをincludeしたモデルで、modifiedフィールドが書き変わらない事象に陥っています。
msg = MessageMixinをincludeしたモデル.new(:created => Time.now) a = msg.modified b = Time.now msg[:modified] = b b == msg.modified # <== false a == msg.modified # <== true
これによって、:modifiedにTime.nowを入れてメッセージをageたり、Time.now + 10してメッセージを10秒TL上部に貼り付けたりする技が使えなくなっています。
原因はMessageMixin::modified()で、無条件で:createdの時間を返しているからと考えています。
改善案として、:modifiedがない時に:createdを流用するのは便利感が高いので生かしておいて、
:modifiedが定義されてるならそちらを優先するようにするのはどうでしょうか。
パッチ添付しますのでご確認いただければ。
ファイル
toshi_a 初音 さんが7年以上前に更新
- ステータス を 新規 から パッチ適用待ち に変更
- 担当者 を toshi_a 初音 にセット
確かに、modifiedキーがある時にはそれを返さないとハマりそうですね。この方針で修正します
toshi_a 初音 さんが7年以上前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を toshi_a 初音 から Satoshi Okuno に変更
適用したものを topic/1019-message-mixin-shadowing-modified-field にpushしました。変更内容をアレンジしたので、一応確認お願いします。
Satoshi Okuno さんが7年以上前に更新
- ステータス を レビュー待ち から 解決 に変更
オッラーン(_)
ちょっと見ない間にすっかりスリムになっちゃって。
OKでした。ありがとうございます!
操作