Project

General

Profile

バグ #1019

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

Added by Satoshi Okuno over 3 years ago. Updated over 3 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
MessageMixin
ブランチ:
クラッシュする:

Description

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

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


Files

#1

Updated by Satoshi Okuno over 3 years ago

オッラーン!

#2

Updated by toshi_a 初音 over 3 years ago

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

#3

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 新規 to パッチ適用待ち
  • Assignee set to toshi_a 初音

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

#4

Updated by toshi_a 初音 over 3 years ago

  • Status changed from パッチ適用待ち to レビュー待ち
  • Assignee changed from toshi_a 初音 to Satoshi Okuno

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

#5

Updated by Satoshi Okuno over 3 years ago

  • Status changed from レビュー待ち to 解決

オッラーン(_)

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

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

#6

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 解決 to 終了

hotfix/3.5 にmergeしました

Also available in: Atom PDF