なるようになるブログ

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

rails commit log流し読み(2015/04/07)

2015/04/07分のコミットです。

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

activesupport/CHANGELOG.md

actionview/CHANGELOG.md


change the explanation of :if_exists option [ci skip]

activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rbactiverecord/lib/active_record/connection_adapters/postgresql/schema_statements.rbのdocの修正です。

先日コミットされたdrop_tableAPI docのif_existsオプションの説明に誤り(値にtrueを指定した場合の挙動の説明が間違っていた)のを修正しています。


Fix URL rails-framework-hooks

rails guideのActive Support Instrumentationの修正です。

instrumentationについて説明している箇所で、ページ内リンクの設定漏れがあったのを修正しています。


No need to document drop_table in the PostgreSQLAdapter

activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rbの修正です。

先日PostgreSQLAdapterdrop_tableメソッドAPI docが追加されたのですが、挙動が親クラス(AbstractAdapter)のdrop_tableと同じであり、そちらにもAPI docは記載されている為、PostgreSQLAdapterの方のAPI docは削除しています。


Merge pull request #19448 from tgxworld/fix_activesupport_callbacks_clash_on_run

callback処理の修正です。 :runという名前のcallback処理を定義した際に、ArgumentErrorエラーが発生してしまうバグがあったのを修正しています。

callback処理でオブジェクトをアロケートする量を削減する為の改善対応デグレってしまっており、また、再度インスタンス生成数を計算した所、改善対応のコミットによる改善はあまり得られ無さそうである、との理由による、改善対応のコミット(https://github.com/rails/rails/commit/796cab45561fce268aa74e6587cdb9cae3bb243e)をrevertしています。


Merge pull request #19029 from iainbeeston/skipping-undefined-callbacks

activesupport/lib/active_support/callbacks.rbの修正です。

ActiveSupport::Callbacks#skip_callbackメソッドの引数に設定されてないメソッド名を指定した場合にArgumentErrorが発生するよう修正しています。raise: falseオプションを設定すると、


Merge pull request #19647 from codeout/association_update https://github.com/rails/rails/pull/19647/files activerecord/lib/active_record/associations/collection_association.rbの修正です。

CollectionAssociation#replaceメソッドで値の更新が無かった場合に、nilではなく、引数に指定された値を返すよう修正しています。

PRより。

# 4.2.1
firm.clients = []
firm.clients = []          #=> []
firm.send('clients=', [])  #=> []

# master
firm.clients = []
firm.clients = []          #=> []
firm.send('clients=', [])  #=> nil

コンパチの為に、4.2系同様指定された値を返すよう修正したようです。


Merge pull request #19661 from Azdaroth/fields-for-child-index-lambda

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

fields_forメソッドchild_indexオプションにlambdaを指定出来るよう修正しています。

例。

<% collection.each.with_index(some_index) do |element, idx| %>
  <%= f.fields_for :relation, element, child_index: idx do |nested_form| %>
     # more fields here
  <% end %>
<% end %>

child_indexオプションの存在自体始めて知りました。 nested attributesを使用している際に、子要素に任意のindexを指定する為のオプションなんですねえ。


added docs for ActionDispatch::Request::Session#create

actionpack/lib/action_dispatch/request/session.rbのdocの修正です。

ActionDispatch::Request::Session#createメソッドのdocを追加しています。


remove new line between doc and method

actionpack/lib/action_dispatch/request/session.rbのdocの修正です。

上記追加したdocと実際のcreateメソッドの間に不要な空行があったのを削除しています。


Change join model name constant to private constant

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

join_model.nameをprivate constantに修正しています。