2014/05/23分のコミットです。
CHANGELOGにのったコミットは以下の通りです(詳細は本文参照)。
Allow additional arguments to be used during type map lookups
ActiveRecord::ConnectionAdapters:::Type::TypeMap::HashLookupTypeMap#fetch
メソッドの修正です。
ブロックを受け取れるよう引数を修正しています。 OID
で使用する為の模様。
Use the generic type map for all PG type registrations
PostgreSQLのDB Adapterの修正です。
activerecord/lib/active_record/connection_adapters/postgresql/oid.rb
で行っていた型定義処理を、ActiveRecord::ConnectionAdapters::AbstractAdapte::PostgreSQLAdapter#initialize_type_map
で行うよう修正しています。
Remove unnecessary Hash#to_a
call
actionpack/lib/action_dispatch/journey/formatter.rb
の修正です。
不要なto_a
メソッドを削除しています。
メソッドの削除により、オブジェクト生成数が一つ減るようです。
actionpack/lib/action_dispatch/journey/formatter.rb
の修正です。
変数名をstack (LIFO)
からqueue (FIFO)
に修正しています。コミットログにwikiへのリンクが貼られています。親切。
Move extract_precision
onto type objects
PostgreSQLのDB Adapterの修正です。
PostgreSQLColumn
で保持していいたprecision
をOID::Money
で保持するよう修正しています。
PostgreSQLColumn.money_precision OID::Money.precision
ちょっとスッキリ。
DB Adapterの修正です。
type objectにscale
を追加しています。
Push precision to type objects
DB Adapterの修正です。
type objectにprecision
を追加しています。
activerecord/lib/active_record/relation/query_methods.rb
の修正です。
使用していないコードを削除しています。
DB Adapterの修正です。
type objectでlimit
値を保持するよう修正しています。
Don't recurse infinitely when calling non-existent method on super
activerecord/test/cases/attribute_methods_test.rb
の修正です。
superクラスに存在しないメソッドを呼び出した際のテストを追加しています。
activerecord/lib/active_record/attribute_methods.rb
にバグがあって、先にテストコードが追加されています。
本来、NoMethodError
になるべき所ですが。SystemStackError: stack level too deep
になってしまっていますね。
fix test from 7537057888d2d63c3b6c2019d5828bc445fbd6c9
activerecord/lib/active_record/attribute_methods.rb
の修正です。
メソッドの呼び出しについて修正。
Fixed serialization for records with an attribute named format
.
カラム又はアトリビュート名に特定の名称を使用している場合に、シリアライゼーションしようとするとエラーになるバグの修正です。
- クラス/インスタンスのカラム/アトリビュート名に、既にクラスで定義されているprivateメソッドと同じ名前を使用する(例えば、
Kernel#format
など) - そのアトリビュートメソッドがクラスに定義されていない
上記条件の時に、シリアライゼーション処理(as_json
等)を行うと、too few arguments
が起こる、との事です。
Avoid slowing down AR object initialization
ActiveRecord::AttributeMethods#define_attribute_methods
メソッドの修正です。
上記シリアライゼーションのバグの修正で、ARのインスタンスを生成する際、必ずdefine_attribute_methods
を呼び出すよう対応したのですが、このメソッドはmutexを使っており、処理が遅いので、毎回呼ばれると処理速度の低下につながるおそれがありました。
なので、一度処理が呼ばれたら、mutexの処理を行わないよう、アーリーリターンを追加しています。
use symbol keys for path_parameters
routing関係の修正です。
Stringを使用している箇所を、Symbolに修正しています。
ActionDispatch::Http::Parameters#symbolized_path_parameters
メソッドの修正です。
path parametersをそのままreturnするよう修正しています。
pass the instantiated request to the find_routes method
actionpack/lib/action_dispatch/journey/router.rb
の修正です。
find_routes
メソッドにRequest
のインスタンスを渡すよう修正しています。
stop using PARAMETERS_KEY, and use the accessor on the request object
routing関係の修正です。
PARAMETERS_KEY
を使用するのを辞めて、Request
オブジェクトのメンバ変数を使用するよう修正しています。
env
からの分離の為、との事。
resolved reorder issue in rails active record guide
rails guideのActive Record Query Interface
の修正です。
生成されるqueryが誤っていたのを修正しています。
Bring the missing parameters back.
ActiveRecord::AttributeMethods#method_body
メソッドの修正です。
引数が足りてなかったのを追加しています。
Added force_reload to Auto-generated methods doc
ActiveRecord::Associations::ClassMethods
のdocの追加です。
See also Instance Public methods below for more details.
の一行を追加されています。
2014-05-23 18:43:12 +0900
Remove warning remeving the method before redefining
activesupport/test/subscriber_test.rb
の修正です。
同じメソッドが定義されている場合の事を考慮して、remove_method
を追加しています。