プロジェクト

全般

プロフィール

バグ #1019

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

Satoshi Okuno5ヶ月前に追加. 5ヶ月前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2017-04-05
期日:
進捗率:

0%

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

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

0001-MessageMixin-modified.patch 表示 (1 KB) Satoshi Okuno, 2017-04-05 22:52

関係しているリビジョン

リビジョン 59033f26 (差分)
toshi_a 初音5ヶ月前に追加

ゴルフした refs #1019

履歴

#1 Satoshi Okuno5ヶ月前に更新

オッラーン!

#2 toshi_a 初音5ヶ月前に更新

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

#3 toshi_a 初音5ヶ月前に更新

  • ステータス新規 から パッチ適用待 に変更
  • 担当者toshi_a 初音 にセット

確かに、modifiedキーがある時にはそれを返さないとハマりそうですね。この方針で修正します

#4 toshi_a 初音5ヶ月前に更新

  • ステータスパッチ適用待 から レビュー待ち に変更
  • 担当者toshi_a 初音 から Satoshi Okuno に変更

適用したものを topic/1019-message-mixin-shadowing-modified-field にpushしました。変更内容をアレンジしたので、一応確認お願いします。

#5 Satoshi Okuno5ヶ月前に更新

  • ステータスレビュー待ち から 解決 に変更

オッラーン(_)

ちょっと見ない間にすっかりスリムになっちゃって。

OKでした。ありがとうございます!

#6 toshi_a 初音5ヶ月前に更新

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

hotfix/3.5 にmergeしました

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