なるようになるブログ

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

rails commit log流し読み(2018/02/28)

2018/02/28分のコミットです。

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

actionview/CHANGELOG.md

activerecord/CHANGELOG.md


Don't enforce UTF-8 by default

Action Viewの修正です。

長らく古いIE(8以下)でUnicodeエンコードされるようにする為に、デフォルトでutf8=✓がinput要素に生成されいたのですが、流石にもうIE8以下向けのサポートは無くて大丈夫だろうという事で、デフォルトでは生成しなくないました。

config(config.action_view.default_enforce_utf8)にtrueを指定すると、5.2までと同じように自動で生成されるように出来るようになっています。


Merge pull request #31966 from kg8m/fix_limited_ids_for

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

associationをeager load + そのeager loadしたassociationのprimary keyをorderに指定 + limitを指定した場合に、eager loadしたassociationの方のprimary keyが値取得時の条件につかわれてしまい、結果正しく値が取得出来ない事がある、というバグがあったのを修正しています。


Merge pull request #32121 from benoittgt/move-rails-routes-to-rails-command

railtiesの修正です。

rake taskとして実装されていたroutes taskを、rails commandとして実装するよう修正しています。

routesにオプション(--expanded)を追加出来るようにする為、との事です。


Merge pull request #32127 from zamith/zamith/screenshot-absolute-path

actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rbの修正です。

system testで失敗した際に表示するscreenshotのpathを相対パスから絶対パスに変更しています。

パスをクリックした際にブラウザで開けるようにする為との事です。


Let select render default selected option for required field

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

selectメソッドでpromptオプションとdisabledselectedオプションを同時に指定出来なかったのを、指定出来るよう修正しています。

# before
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {prompt: 'Select Person', selected: '', disabled: ''})

# =>
# <select name="post[person_id]" id="post_person_id">
#   <option value="">Select Person</option>
#   <option value="1">David</option>
#   <option value="2">Eileen</option>
#   <option value="3">Rafael</option>
# </select>


# after
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {prompt: 'Select Person', selected: '', disabled: ''})
# =>
# <select name="post[person_id]" id="post_person_id">
#   <option value="" disabled="disabled" selected="selected">Select Person</option>
#   <option value="1">David</option>
#   <option value="2">Eileen</option>
#   <option value="3">Rafael</option>
# </select>

Fix new_framework_defaults_6_0.rb

rails/railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.ttの修正です。

config.action_view.default_enforce_utf8config.action_controller.default_enforce_utf8にタイポしていたのを修正しています。


Use with_partial_writes helper in activerecord/test/cases/dirty_test.rb

activerecord/test/cases/dirty_test.rbの修正です。

テスト内でpartial_writesの値を変更するのに、それようのヘルパーメソッド(with_partial_writes)を使用するよう修正しています。


Merge pull request #31171 from sambostock/improve-abstract-class-documentation

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

ActiveRecord::Base.abstract_classメソッドのdocに、abstract classを使う場合のexampleを追加しています。


Merge pull request #31926 from composerinteralia/am-attributes

activemodel/lib/active_model/attributes.rbの修正です。

ActiveModel::Attributesattributesメソッドを追加しています。

Active Recordと同様にattributesのHashを取得出来るようにする為。


Fix a typo in activerecord/CHANGELOG.md

activerecord/CHANGELOG.mdの修正です。

CHANGELOGのエントリーでcolumns_for_distinctcolumsn_for_distinctにタイポしていたのを修正しています。


Add separate test to ensure that delegate with :private option returns correct value

activesupport/lib/active_support/core_ext/module/delegation.rbactivesupport/test/core_ext/module_test.rbの修正です。

delegateメソッドのグラマーの修正、及び、delegateprivateオプションを指定した場合に正しい値が取得出来る事を確認する為のテストを既存のテストから切り出しています。


Don't include unused ActiveSupport::Concern

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

使用していないActiveSupport::Concernのextendを削除しています。


Alias assign_attributes to attributes= for AttributeAssignment

activemodel/lib/active_model/attribute_assignment.rbactiverecord/lib/active_record/attribute_assignment.rbの修正です。

ActiveRecord::AttributeAssignment moduleに定義されていたattributes=メソッドをActiveModel::AttributeAssignment moduleでaliasとして定義するよう修正しています。

元々定義されていたattributes=assign_attributesを呼び出すだけになっており、Active Record側にメソッドを定義しておく必要性は無い為、のようです。


Remove CHANGELOG entries which were backported to 5-2-stable

各CHANGELOから5.2にバックポートされたエントリーを削除しています。