プロジェクト

全般

プロフィール

バグ #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が定義されてるならそちらを優先するようにするのはどうでしょうか。

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


ファイル

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

オッラーン!

toshi_a 初音 さんが7年以上前に更新

わかったわかったちょっとまて

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でした。ありがとうございます!

toshi_a 初音 さんが7年以上前に更新

  • ステータス解決 から 終了 に変更

hotfix/3.5 にmergeしました

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