プロジェクト

全般

プロフィール

最適化 #621

完了

listの復元処理の最適化

Osamu Koga さんが10年以上前に追加. 10年以上前に更新.

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

0%

プラグイン名:
list

説明

全体の挙動としてバグっているわけではないのですが、起動時にエラーが出ていて、コードを追っていたら気づいたので。

起動時にリストを復元する際、前回開いていたリストIDを元にして復元処理をしていますが、この処理がバグっています。
Hash の要素の存在判定に defined? を使っていますが、Rubyではこのやり方はうまく行きません。
代わりに Hash#has_key? を使う必要があります。
添付のlist.patchがこの修正です。

ただし、そもそもこれらの処理がなくても、各 Service に対して fetch_list_of_service を呼び出しているため、
リストの復元自体は正常に行えています。
(全体としてバグっていない理由がこれです)
したがって、問題の箇所と、この用途でしか使われていない visible_list_obj はまるごと削除してしまっても問題ないのではないかと思います。
添付のlist_remove_obj.patchがこの方針での修正です。

どちらのパッチもdevelopブランチで作成しましたが、masterブランチにも問題なく適用できるようです。


ファイル

list.patch (924 Bytes) list.patch Osamu Koga, 2013-10-20 23:50
list_remove_obj.patch (1.78 KB) list_remove_obj.patch Osamu Koga, 2013-10-20 23:50

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