なるようになるブログ

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

rails commit log流し読み(2015/03/12)

2015/03/12分のコミットです。

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

activerecord/CHANGELOG.md


Revert "Merge pull request #15476 from JacobEvelyn/master"

Rails consoleでenvironmentに定義してあるloggerの設定を使用するよう対応した、コミット(Use logger environment settings in Rails console)をrevertしています。

syslog用のフォーマットを定義していたりした場合に、その内容のままconsole(STDERR)上に出てしまうと、フォーマットが崩れてしまい、望ましくない形になってしまう為、revertしたようです。


Fix naming collision

activejob/test/cases/logging_test.rbの修正です。

logging_test.rbというファイル名なのに、ファイル内で定義されているクラス名がAdapterTestになっていたので、LoggingTestにクラス名を変更しています。


ActiveJob::QueueAdapters::* are no longer singletons

ActiveJobの修正です。ActiveJob::QueueAdapters配下の、各バックエンドサービスのadapterクラスを、シングルトンクラスではなく普通のクラスにするよう修正しています。

adapterクラスを拡張したい場合に、他の処理に影響無く独自のサブクラスを作れるようにする為に対応したようです。


Edits for grammar and clarity, with help from georgeclaghorn and robin850.

rails guideのAction Controller Overviewの修正です。

ページ全体に対するグラマーの修正を行っています。


Require pg~>0.18 to ensure Ruby 2.2 compatibility

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

使用するpg gemのバージョンを0.15系から0.18系に修正しています。

0.18より前のバージョンのpg gemとRuby2.2系を一緒に使用すると、文字列の最後にランダムなビットが追加されてしまうバグ(Crazy Bytes Being Added to Record Attribute)があるらしく、0.18系では対応済みとの事なので、最新化したようです。


ActiveJob::Base#queue_adapter is now a class_attribute

ActiveJobの修正です。ActiveJob::Base#queue_adapterをクラスのインスタンス変数に修正しています。

これにより、Jobクラス毎に異なるqueue_adapterを指定出来るようになります。 バックエンドサービスを複数使用している時は、嬉しいような。


Isolate access to .default_scopes in ActiveRecord::Scoping::Default

ActiveRecordの修正です。

ActiveRecord::Scoping moduleにscopeの情報を取得/確認する為の、scope_attributesscope_attributes?メソッドを追加し、scope情報の取得/確認を行う際、左記メソッドを使用するよう修正しています。


add DateTime.now to list of TimeHelpers#travel_to stubbing [ci skip]

activesupport/lib/active_support/testing/time_helpers.rbのdocの修正です。

TimeHelpers#travel_toメソッドがstubするメソッドのリストに、DateTime.nowメソッドを追加しています。


Use def setup instead of setup do

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

ActionController::TestCaseActionDispatch::IntegrationTestクラスの前処理に、railsが拡張しているsetupメソッドを使用していたのをminitest標準の前処理(def setup)を使用するよう修正しています。

-  setup do
+  def setup

setup doの方がオブジェクト生成が多い為、より高速に動作させる為に修正したとの事です。


Also skip Content-Encoding and Vary header if 304

actionpack/lib/action_dispatch/middleware/static.rbの修正です。

HTTPステータスコードが304の場合、Content-EncodingVaryヘッダーを設定しないよう修正しています。


[ci skip] Take NOTE: as paragraph to make NOTE block

rails guideのRuby on Rails 4.0 Release Notesの修正です。

Major Featuresの項で、threadsafeについての注釈部分をNOTEブロックで囲うよう修正しています。


Use request.session.id instead of request.session_options[:id]

ActionPackの修正です。

request.session_options[:id]を使用している箇所をrequest.session.idを使用するよう修正しています。

元々rack側で値を設定していたのですが、rack側でrequest.session_options[:id]の値の設定を行ってない為、修正したようです。 rack側の修正はこちら