プロジェクト

全般

プロフィール

バグ #1019

完了

MessageMixinの:modifiedが変更できないのだ

Satoshi Okuno さんが7年以上前に追加. 7年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
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が定義されてるならそちらを優先するようにするのはどうでしょうか。

パッチ添付しますのでご確認いただければ。


ファイル

他の形式にエクスポート: Atom PDF