なるようになるブログ

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

rails commit log流し読み(2018/09/22)

2018/09/22分のコミットです。

CHANGELOGへの追加はありませんでした。


Let escape_javascript handle conversion to string

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

escape_javascriptメソッドにString以外の値を指定した場合、NoMethodErrorでエラーになっていたのを、値を先にStringに変換するようにし、エラーにならないよう修正しています。

# before
escape_javascript(:symbol)
# => NoMethodError (undefined method `gsub' for :symbol:Symbol)

escape_javascript(true)
#= => NoMethodError (undefined method `gsub' for true:TrueClass)
# after
helper.escape_javascript(:symbol)
# => "symbol"

helper.escape_javascript(true)
# => "true"
<%= javascript_tag do %>
  var locale = '<%== j I18n.locale %>';
<% end %>

上記のように、I18n.localeの結果(Symbol)を直接escapeメソッドに指定出来るようにする為、との事です。


No private def in the codebase

activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rbactiverecord/test/cases/query_cache_test.rbの修正です。

privateメソッドを定義するのに、

private def dealloc(stmt)
  stmt.close
end

という書き方(メソッド定義の前にprivateを使用する)をしていたのを、

private

   def dealloc(stmt)
    stmt.close
  end

に修正しています。Rails本体のコーディング規約では後者の書き方をするようになっている為。


Fix "warning: shadowing outer local variable - job"

activejob/lib/active_job/test_helper.rbの修正です。

deserialize_args_for_assertionメソッドでwarning: shadowing outer local variable - jobのwarningが出ていたのを修正しています。


Make sure this test check the issue solved in #31135

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

db系task実行時にenvironmentファイルがloadされる事を確認するテストが正しく動作していなかった(task実行前にenvironmentファイルをloadしてしまっていて、実際にtask実行時にファイルがloadされたかどうかが判別出来ない状態になっていた)のを修正しています。