なるようになるブログ

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

rails commit log流し読み(2016/07/06)

2016/07/06分のコミットです。

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

activesupport/CHANGELOG.md


Merge pull request #25257 from ta1kt0me/inspect_initializers

railties/lib/rails/initializable.rbrailties/lib/rails/tasks/initializers.rakeの修正です。

initializersタスクで、initializer名だけでなく、クラス名も表示するよう修正しています。

# before
./bin/rails initializers
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
set_load_path
...
# after
./bin/rails initializers
ActionCable::Engine.set_load_path
Coffee::Rails::Engine.set_load_path
Jquery::Rails::Engine.set_load_path
Turbolinks::Engine.set_load_path
Sidekiq::Rails.set_load_path
Master::Application.set_load_path
ActionCable::Engine.set_autoload_paths
Coffee::Rails::Engine.set_autoload_paths
Jquery::Rails::Engine.set_autoload_paths
Turbolinks::Engine.set_autoload_paths
Sidekiq::Rails.set_autoload_paths
...

Deprecate usage of nil as route path

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

Rails 4で動作したpathが定義されていないようなroutesがRails 5で動作しなくなってしまっていたので、動作するよう対応を追加、及びそもそもそのようなroutesは今後はサポートをしないので、pathがnilだった場合は、deprecateメッセージを表示するよう修正しています。

ちなみに、下記のようなroutesです。

scope '/*id', controller: :builds, as: :build do
  get action: :show
end

Merge pull request #25668 from kamipo/use_squish_rather_than_strip_heredoc

activerecord/lib/active_record/persistence.rbactiverecord/lib/active_record/touch_later.rbの修正です。

touchメソッドでエラーになった際に出力するエラーメッセージの出力にString#strip_heredocを使用していたのをString#squishを使用するよう修正しています。

エラーメッセージの中に改行が含まれているのですが、String#strip_heredocだと改行がそのまま出力されてしまいメッセージが変な箇所で改行されてしまうため、それを防ぐ為String#squishを使用するよう修正しています。


Merge pull request #25704 from fledman/add_respond_to_missing_to_rails_application_configuration_custom

railties/lib/rails/application/configuration.rbの修正です。

Rails::Application::Configuration::Customクラスにrespond_to_missing?メソッドを追加しています。

Configuration::Customクラスはmethod_missingを使用してい値を返しており、respond_to?がconfigに定義されている値に対してでも必ずfalseを返してしまう為、それを防ぐ為にrespond_to_missing?メソッドを定義しています。


Merge pull request #24890 from vipulnsward/travel-to-raise

Active Supportの修正です。

time helper(travel/travel_to)をネストして呼び出した際に、エラーをraiseするよう修正しています。

travel_to 2.days.from_now do
  # 2 days from today
  travel_to 3.days.from_now do
    # => RuntimeError: Calling `travel_to` with a block, when we have previously already made a call to `travel_to`, can lead to confusing time stubbing.
  end
end

Bump version for master bug report templates

bug report templatesの修正です。

bug report templatesで使用するrailsのバージョンを5.0.0に修正しています。


remove -t option from default sendmail arguments [ci skip]

各docの修正です。

Sendmail default arguments match Mail::SendMailsendmailのデフォルト引数から-tを削除したのですが、各docに-tが残ってしまっていたので、まとめて修正しています。


[ci skip] Remove reference to Rails 4 in the initialization guide.

rails guideのThe Rails Initialization Processの修正です。

ガイドの内容について説明している箇所で、default Rails 4 Application〜という風にRailsのバージョンを指定していたのから、バージョンの指定を削除しています。


[ci skip] Update ConnectionPool documentation for readability

activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rbのdocの修正です。

ActiveRecord::ConnectionAdapters module配下の各メソッドのdocのグラマーや言い回しの修正をまとめて行っています。