2017/05/15分のコミットです。
CHANGELOGへの追加はありませんでした。
explain why guide translations need a fork [ci skip]
rails guideのContributing to Ruby on Rails
の修正です。
Translating Rails Guides
の項に、翻訳したドキュメントはRailsレポジトリにsubmitする必要は無い旨説明を追加しています。
Don’t cache locally if unless_exist was passed
activesupport/lib/active_support/cache/strategy/local_cache.rb
の修正です。
unless_exist
オプションを指定した場合、データを書き込む際にlocal cacheから値を削除するよう修正しています。
def write_entry(key, entry, options) - local_cache.write_entry(key, entry, options) if local_cache + if options[:unless_exist] + local_cache.delete_entry(key, options) if local_cache + else + local_cache.write_entry(key, entry, options) if local_cache + end + super end
元々は必ず値を書き込むようになっていたのですが、unless_exist
オプションを指定している場合は同じkeyが存在していたら値が上書きされない為、結果誤った値がcacheに保持されてしまっていました。値がどうなるかはbackendに依存する為、値を保持するのではなく削除する(次値を取得する際に必ずbackendから値を取得する)ように対応していまs.