なるようになるブログ

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

rails commit log流し読み(2015/11/30)

2015/11/30分のコミットです。

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


Merge pull request #22444 from kamipo/connection_options_is_only_needed_for_mysql_adapter

Active Recordの修正です。

MysqlAdapterでだけで使用するconnection_optionsを、AbstractMysqlAdapter#newメソッドで設定していたのを止めて、MysqlAdapter#newメソッドで設定するよう修正しています。


Merge pull request #18155 from bogdan/collection_association_double_element_fix https://github.com/rails/rails/commit/3f16a098452ee5d447142bd9a6f6045cb1fc83b4

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

model作成処理のコールバックでassociationのロード処理を行った場合に、associationのインスタンスが2回追加されてしまうバグがあったのを修正しています。

例。

class Bulb < ActiveRecord::Base
  belongs_to :car

  after_create do |record|
    record.car.bulbs.to_a
  end
end

class Car < ActiveRecord::Base
  has_many :bulbs
end
car = Car.create!
car.bulbs << Bulb.new
car.bulbs.size # => "2"になってしまっていた

Merge pull request #22373 from yui-knk/ad_constraints

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

ActionDispatch::Routing::Mapper::Constraintsクラスの親クラス(Endpoint)を指定する際に、Endpointのnamespaceを明確に指定するよう修正しています。

-      class Constraints < Endpoint #:nodoc:
+      class Constraints < Routing::Endpoint #:nodoc:

Merge pull request #22427 from eliotsykes/validation-message-proc-doc

rails guideのActive Record Validationsの修正です。

Common Validation Optionsの項、:messageオプションについて説明している箇所に、:messageオプションにStringProcが指定出来る旨説明及びexampleコードを追加しています。


Merge pull request #22363 from yui-knk/mv_ar_test_case

activerecord/test/cases/finder_test.rbactiverecord/test/cases/sanitize_test.rbの修正です。

replace_named_bind_variablesreplace_bind_variablesメソッドのテストをactiverecord/test/cases/finder_test.rbからactiverecord/test/cases/sanitize_test.rbに移動しています。

replace_bind_variablesreplace_named_bind_variablesメソッドsanitization.rbに定義されている為。


Refactor AbstractAdapter#initialize

Active Recordのconnection adaptersの修正です。

AbstractAdapter#newメソッドの引数から仕様していないpool変数を削除、及び、全てのadapterで使用しているconfig変数をAbstractAdapter#newメソッドで設定するよう修正しています。


Fix indentation in CHANGELOG.md [ci skip]

activerecord/CHANGELOG.mdの修正です。

example codeが正しくハイライトされるよう、インデントの修正を行っています。