なるようになるブログ

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

rails commit log流し読み(2018/04/20)

2018/04/20分のコミットです。

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

activesupport/CHANGELOG.md

actionview/CHANGELOG.md


Add exculude condition in rubocop.yml

.rubocop.ymlの修正です。

railtiesのテストで生成されるfixtureをrubocopの対象にしないよう修正しています。


Navigate edgeguide from .github template [ci skip]

.github/issue_template.md.github/pull_request_template.mdの修正です。

githubのtemplateファイルに記載しているguides.rubyonrails.orgへのリンクをedgeguides.rubyonrails.orgに変更しています。

最新の情報が記載されているのはedgeguides.rubyonrails.orgな為。


Merge pull request #32626 from ftovaro/master

README.mdrailties/RDOC_MAIN.rdocの修正です。

スタイルの修正や、各コンポーネントへのリンクの追加等を行っています。


[ci skip] Remove style of the word Rails at the top

README.mdの修正です。

What's Railsの項のスタイルの修正を行っています。


Merge pull request #32605 from composerinteralia/assert-not

assert !を使った場合に、assert_notを使用するよう指摘するcustom Copを追加しています。


Merge pull request #32593 from sdhull/fix-strong-params-permit-bang

actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。

ネストしたArray(e.g. [[{ x: 2, y: 3 }, { x: 21, y: 42 }]])に対してpermit!が使用した場合に、パラメータがpermitされないバグがあったのを修正しています。


[ci skip] Restore of links in RDOC_MAIN after an update of the file (#32644)

railties/RDOC_MAIN.rdocの修正です。

コンポーネントへのリンクがAPI doc上で壊れていたのを修正しています。


Merge pull request #32401 from yhirano55/improve_css_in_guide

guides/assets/stylesheets/main.cssguides/assets/stylesheets/print.cssの修正です。

使用されていないスタイルや、不要なコメントの削除等を行っています。


Merge pull request #32168 from christianblais/activesupport-ordinalize-i18n

Active Supportの修正です。

ActiveSupport::Inflector#ordinal(及びordinalを使用しているActiveSupport::Inflector#ordinalizeも)の値がメソッドの中で固定になっていたのを、I18n.translateメソッドを使用して値を取得するよう修正しています。

これにより、i18nの設定ファイルでordinals及びordinalizedを定義した場合、そちらの値が使用されるようなっています。

例。

# locale/fr.rb
{
  fr: {
    number: {
      nth: {
        ordinals: lambda do |_key, number:, **_options|
          if number.to_i.abs == 1
            'er'
          else
            'e'
          end
        end,

        ordinalized: lambda do |_key, number:, **_options|
          "#{number}#{ActiveSupport::Inflector.ordinal(number)}"
        end
      }
    }
  }
}

Allow rubocop check more files

custom copの対象となるファイルのパターンを**/*_test.rbから**/test/**/*に修正しています。

_test.rbで終わっていないファイルがある(異なるテスト間で共通で使用するテスト用module等)為。


Create a .ruby-version compatible with MRI/JRuby by default

railties/lib/rails/generators/rails/app/templates/ruby-version.ttの修正です。

rails newで生成する.ruby-versionファイルにRUBY_VERSIONだけを記載していたのを、RUBY_ENGINEも記載するよう修正しています。

-<%= RUBY_VERSION -%>
+<%= "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}" -%>

RUBY_ENGINEの指定が無いとrvmがCRubyと判定してしまい、JRubyを使う場合に問題になる為。


Merge pull request #32645 from maneframe/skip_query_cache_merge

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

relationのmerge処理で skip query cacheの設定が正しくmergeされない(強制的にtrueになる)バグがあったのを修正しています。


Return back "/" to the end of RAILS_GEM_ROOT

activerecord/lib/active_record/log_subscriber.rbactivesupport/lib/active_support/deprecation/reporting.rbの修正です。

RAILS_GEM_ROOT定数の末尾に/を追加しています。

元々は/があったのが、Define path with dirの対応の際に誤って削除されてしまっていました。ぜ、末尾の/がないと、正しくgemが判定出来ない(railsで始まっているgemを誤検知してしまう)為、/を戻しています。


Add missing changelog entry

actionpack/CHANGELOG.mdの修正です。

ネストしたArrayに対してpermit!が使用した場合にパラメータがpermitされないバグがあったのを修正した、Merge pull request #32593 from sdhull/fix-strong-params-permit-bangについてCHANGELOGにエントリーを追加しています。

が、これは後ほどrevertされています。上記対応は5-2-stableにバックポート済みで、バックポートされた対応のエントリーはmasterには不要の為。


Use assert_no_match for test_order_to_unscope_reordering

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

assert_not + match?を使っていたテストを、assert_no_matchを使うよう修正、及び、Rubyのwarning(warning: ambiguous first argument)が出ていたので、引数を指定するのに中括弧を追加しています。


Don't expose Relation#preload_associations in the doc

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

内部用のAPIであるRelation#preload_associationsメソッドに:nodoc:の指定を追加しています。


Revert "Merge pull request #32652 from bogdanvlviv/add-missing-changelog-for-32593"

actionpack/CHANGELOG.mdの修正した、Add missing changelog entryをrevertしています。理由は上記参照。


Merge pull request #32574 from DmytroVasin/rails-ujs-stoppable-events

rails-ujs、及び、rails guideのWorking with JavaScript in Railsの修正です。

guideのStoppable eventsの項に、eventをキャンセルしたい場合、callbackでe.preventDefault()を呼び出す必要がある旨説明を追加、及び、テストでイベントをキャンセルするのにfalseを返していただけだったのを、preventDefault()を使うよう修正しています。


Merge pull request #32575 from ybakos/guides/testing/pluralize_class_names

rails guideのTesting Rails Applicationsの修正です。

controllerとhelperのクラス名に単数形が使われてしまっている箇所があったのを、複数形を使用するよう修正しています。


Make JS views rendered work with content security policy

actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffeeの修正です。

Content Security Policyを使用している場合に、JavaScript viewのrender処理が正しく動作しないバグがあったのを修正しています。


Merge pull request #32642 from bogdanvlviv/fix-name-test-added-by-32613

activesupport/test/time_zone_test.rbの修正です。

テストメソッド名でグラマーが誤っている箇所があったのを修正しています。


warning: ambiguous first argument; put parentheses or a space even after `/' operator

actionpack/test/controller/action_pack_assertions_test.rbの修正です。

assert_not + matchを使っていたテストを、assert_no_matchを使うよう修正、及び、Rubyのwarning(warning: ambiguous first argument)が出ていたので、引数を指定するのに中括弧を追加しています。


[ci skip] Fix doc typos ActionDispatch::Http::FilterParameters

actionpack/lib/action_dispatch/http/filter_parameters.rbのdocの修正です。

ActionDispatch::Http::FilterParameters moduleのdoc内のタイポを修正しています。


Fix typo on method name

railties/test/application/configuration_test.rbの修正です。

テストメソッド名でグラマーが誤っている箇所があったのを修正しています。


Allow primary_key argument to empty_insert_statement_value

Active Recordの修正です。

empty_insert_statement_valueメソッドにprimary_keyを渡せるよう修正しています。

Oracle adapterでidentity data typeをサポートするのにあたって、empty_insert_statement_valueメソッドでprimary keyを含むSQLを生成する必要がある為とのことです。