● [Ruby] 後日談プラグインのリファクタリング 後日談プラグインでは、過去の日記からのAタグの生成のために、日記中のmyプラグインの第一引数のアンカーから、そのmyプラグインのいるセクションへのリンクをキャッシュに保存します。また逆に、myプラグインのいる日づけから、そのmyプラグインの第一引数のアンカーまでのリンクも保存しています。後者のリンクは、myプラグインが消去された時に過去の日記からのAタグを消去するために必要です。 こういうちょっとだけ違う情報の処理は、どこが違うか手探りをしながら実装することになりました。できあがってみるとそっくりのコードが2つずつ現れる。そこでリファクタリングしたくなるわけですが、今回改めてRubyのブロックの強みを感じました。イテレートする対象はそれぞれの方向のリンクのデータで、イテレートの仕方は結局一緒、それぞれに対する処理だけちょっと違う、という