なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2015/09/06)

2015/09/06分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Support dropping indexes concurrently in Postgres

Active Recordの修正です。

PostgreSQL adapterで、remove_indexメソッドにCONCURRENTLYパラメータを指定出来るよう修正しています。

例。

remove_index(:people, name: "index_people_on_last_name", algorithm: :concurrently)

ちなみに、CONCURRENTLYパラメータは、指定すると、インデックスのテーブルに対して同時に実行される選択、挿入、更新、削除をロックすることなくインデックスの削除を行います。詳細は、こちら を参照。


Use ERB::Utils to percent encode hfvalue parts of mailto

actionview/lib/action_view/helpers/url_helper.rbの修正です。

use path escaping for email addressesで、emailのpathのエスケープ処理に、Rack::Utils.escape_pathメソッドを使用するよう修正したのですが、 hfvalueパートは必ずパーセントエンコードされている必要があり、変更後の対応ではエンコード処理がされなくなてしまっていた為、コミットをrevertして元の処理に戻しています。


Removed Extra ‘the’ [ci skip]

activesupport/lib/active_support/core_ext/file/atomic.rbのdoc、及び guides/source/upgrading_ruby_on_rails.mdの修正です。

各docから不要なtheを削除しています。グラマーの修正。


Deprecate passing conditions to AR::Relation destroy_all and delete_all methods

activerecord/lib/active_record/relation.rbの修正です。

ActiveRecord::Relation#delete_allActiveRecord::Relation#destroy_allメソッドに削除するレコードの条件を指定するconditionsオプションが、deprecateになりました。

同じ事をしたい場合に、先にwhereメソッドを呼び出して条件を指定してからdelete_all / destroy_allを呼び出すようにするように、との事です。

例。

Topic.where(conditions).destroy_all