2015/01/29分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Preserve default url options when generating URLs
- Switch to kwargs in ActionController::TestCase and ActionDispatch::Integration
Don't redefine autosave association callbacks in nested attrs
activerecord/lib/active_record/nested_attributes.rb
の修正です。
accepts_nested_attributes_for
を使用している際、 autosave association callbacksが2回定義されてしまうバグがあったので、不要なcallback定義を削除しています。
Merge pull request #18654 from liseki/fix-aj-test-helper
activejob/lib/active_job/test_helper.rb
の修正です。
ActiveJobのテスト用メソッドの引数にGlobalId
を使用しているオブジェクトが渡された際に、ActiveJobのシリアライズ処理が足りてない為に、assertionが期待通りに動作しなくなるバグがあったのを対応しています。
table name should be plural [ci skip]
railties/lib/rails/generators/rails/model/USAGE
の修正です。
descriptionのところにあったタイポ("admin_account" -> "admin_accounts")を修正しています。
Added #or to ActiveRecord::Relation
activerecord/lib/active_record/null_relation.rb
、
activerecord/lib/active_record/relation/query_methods.rb
の修正です。
ActiveRecord#Relation
に#or
メソッドが追加されました。
Post.where('id = 1').or(Post.where('id = 2')) # => SELECT * FROM posts WHERE (id = 1) OR (id = 2)
WHERE または HAVING と合わせて使える事が出来ます。
group = User.where('id < ?', 10).group(:email) group.having('COUNT(*) > 1').or(group.having("email like '%google.com'")) #=> SELECT "users".* FROM "users" WHERE ((id < 10) OR (id < 10)) GROUP BY email HAVING ((COUNT(*) > 1) OR (email like '%google.com'))
actionpack/CHANGELOG.md
の修正です。
先日コミットされた*_via_redirect
メソッドのdeprecate対応について追記しています。
Just assert the deprecation of one method
actionpack/test/controller/integration_test.rb
の修正です。
先日コミットされた*_via_redirect
メソッドのdeprecate対応のテストで、assert_deprecated
メソッドの引数のブロックにdeprecate メソッドの呼び出し以外の処理も入っていたのを、deprecate メソッドの呼び出しのみ行うよう修正しています。
Preserve default url options when generating URLs
actionpack/lib/action_dispatch/routing/route_set.rb
の修正です。
URLを生成する際、default url optionsに設定した値を保持するよう修正しています。
リクエストされたparameterによって、default url optionsの値が反映されないバグがあったので修正しています。formatオプションが駄目だったもよう。
def default_url_options { format: 'atom', id: 'default-id' } end # routes get "/things/:id(.:format)" => 'things#show', :as => :thing thing_path('1') # => '/things/1.atom' thing_path # => '/things/default-id.atom'
Bring the implementation of Relation#or up to speed
activerecord/lib/active_record/relation/query_methods.rb
、
activerecord/lib/active_record/relation/where_clause.rb
の修正です。
先日追加されたWhereClause
クラスを使用するよう、Relation#or
メソッドのリファクタリングを行っています。
Always convert strings to UTF-8, regardless of column type in SQLite
activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
、
activerecord/test/cases/adapters/sqlite3/quoting_test.rb
の修正です。
SQLiteの場合、カラムの型が何であれ、StringはUTF-8に変換するよう修正しています。text columnsの場合に変換漏れがあった為、データがStringの場合とりあえず変換するようにしたようです。
Don't error when grouped calculations return 0 records
activerecord/lib/active_record/relation/calculations.rb
の修正です。
group(xxx).count
した場合に、カウントが0だとActiveRecord::RecordNotFound
が発生してしまっていたのを、正しく0を返すよう修正しています。
Add fix for loading fixtures in engine tests
railties/lib/rails/generators/rails/plugin/templates/test/test_helper.rb
の修正です。
fixturesのロード処理(ActiveSupport::TestCase.fixtures :all
)が無かったので、追加しています。
let dependencies use Module#const_defined?
activesupport/lib/active_support/dependencies.rb
の修正です。
依存関係のチェックにrailsが拡張したObject.qualified_const_defined?
メソッドを使用していたのを、Ruby標準のObject.const_defined?
を使用するよう修正しています。
Ruby 1.9から親クラスやモジュールの定数でもObject.const_defined?
がtrueを返すようになったので、もうqualified_const_defined?
を使用する必要が無いとの事で修正したようです。
reassign file_fixture_path
in plugins test_helper.rb
. refs #18658.
railties/lib/rails/generators/rails/plugin/templates/test/test_helper.rb
の修正です。
先日コミットされたActiveSupport::TestCase.fixture_path
の設定をplugin用のtest_helperにも追加しています。
Switch to kwargs in ActionController::TestCase and ActionDispatch::Integration
actionpack/lib/action_controller/test_case.rb
、
actionpack/lib/action_dispatch/testing/integration.rb
の修正です。
ActionController::TestCase
、ActionDispatch::Integration
クラスのHTTP request methodsの引数の渡し方が変更になりました。
post :create, params: { y: x }, session: { a: 'b' } get :view, params: { id: 1 } get :view, params: { id: 1 }, format: :json
旧フォーマット(引数無し)の場合、deprecateメッセージが表示されるようになっています。
actionpack/CHANGELOG.md
の修正です。
先にコミットされたActionController::TestCase
、ActionDispatch::Integration
クラスのHTTP request methodsの引数の渡しについての変更履歴の説明を改善しています。
Use fixed fonts only in the name of the parameter
actionpack/lib/action_controller/test_case.rb
、
actionpack/lib/action_dispatch/testing/integration.rb
のdocの修正です。
固定フォントの対象がメソッド名だけでなく":"まで含まれてしまっていたのをメソッド名だけ対象にするよう修正しています。
Consistent usage of spaces in hashes across our codebase
ActionPackの修正です。
先にコミットされたActionController::TestCase
、ActionDispatch::Integration
クラスのHTTP request methodsの引数の渡しの対応したファイルのコードの書き方をrailsのコード規約に合わせて修正しています。(Hash形式を1.9形式の書き方に修正、Hashの前後にスペース追加等)