2015/12/14分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
railties/lib/rails/generators/rails/app/templates/Gemfile
の修正です。
web-console 3.0.0がリリースされたという事で、新規にrailsアプリを作成した際に使用するweb-consoleのバージョンを3.0に更新しています。
let config.file_watcher be the way to enable the evented file watcher
railtiesの修正です。ファイルの更新監視処に指定するクラスをconfigで明示的に指定出来るよう、デフォルトで生成されるdevelopment.rb
にコメント行を追加しています。
# development.rb + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + # config.file_watcher = ActiveSupport::EventedFileUpdateChecker
デフォルトでは従来通りActiveSupport::FileUpdateChecker
(pollingで更新検知を実施)を使用するようになっており、上記コメントをコメントアウトすれば新規に作成されたevent baseのクラス(ActiveSupport::EventedFileUpdateChecker
)を使用するようになります。デフォルトでは使用しないようにしたんですねえ。
Gemfile
,
activesupport/lib/active_support/evented_file_update_checker.rb
の修正です。
listen
gemを必要になった際にrequireするよう修正しています。
Prevent a 500 in the default controller scaffold
railties/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb
、
railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb
の修正です。
attributeを指定せずにscaffoldした場合に、生成されたcontrollerを実行するとparamterのsanitze処理でエラー(#assign_attributes
でArgumentErrorになる)になってしまうバグがあったのを修正しています。
- params[:<%= singular_table_name %>] + params.fetch(:<%= singular_table_name %>, {})
#[]
だと該当のparameterが無い場合nilが返ってしまうので、fetch
を使って、該当のparameterが無い場合は空のHashを返すようにして対応しています。
railties/lib/rails/command.rb
のdocの修正です。
Rails::Command
クラスに:nodoc:
を指定しています。まだdocが整っておらず、publicに出来る状態じゃない為、との事です。
Merge branch 'rails-rake-proxy'
railtiesの修正です。
railsにrakeコマンドをproxyする為の仕組みを追加しています。これにより、rakeタスクをrailsコマンド経由で実行できます。
$ ./bin/rails db:migrate == 20151213232917 CreateUsers: migrating ====================================== -- create_table(:users) -> 0.0009s == 20151213232917 CreateUsers: migrated (0.0009s) ============================= $ ./bin/rails stats +----------------------+--------+--------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+--------+--------+---------+---------+-----+-------+ | Controllers | 79 | 53 | 2 | 9 | 4 | 3 | | Helpers | 4 | 4 | 0 | 0 | 0 | 0 | | Jobs | 2 | 2 | 1 | 0 | 0 | 0 | | Models | 2 | 2 | 1 | 0 | 0 | 0 | | Mailers | 0 | 0 | 0 | 0 | 0 | 0 | | Javascripts | 19 | 0 | 0 | 0 | 0 | 0 | | Libraries | 0 | 0 | 0 | 0 | 0 | 0 | | Tasks | 0 | 0 | 0 | 0 | 0 | 0 | | Controller tests | 48 | 38 | 1 | 7 | 7 | 3 | | Helper tests | 0 | 0 | 0 | 0 | 0 | 0 | | Model tests | 7 | 3 | 1 | 0 | 0 | 0 | | Mailer tests | 0 | 0 | 0 | 0 | 0 | 0 | | Integration tests | 0 | 0 | 0 | 0 | 0 | 0 | +----------------------+--------+--------+---------+---------+-----+-------+ | Total | 161 | 102 | 6 | 16 | 2 | 4 | +----------------------+--------+--------+---------+---------+-----+-------+ Code LOC: 61 Test LOC: 41 Code to Test Ratio: 1:0.7
railsとrake2つのコマンドがあるのは紛らわしいからrailsコマンドに統一しよう、という提案(Having both rails and rake commands is confusing: Just use rails as the command router. · Issue #18878 · rails/rails)があり、その対応です。
なお、rakeタスクをrailsコマンド経由で呼び出しているだけで、rakeタスク自体が無くなった訳ではないので、今のところ今まで通りrakeコマンド経由でもタスクの実行は出来るようになっています。
Merge pull request #22569 from seuros/remove-test-case
railtiesの修正です。
controllerのテストで使用するクラスをActionController::TestCase
からActionDispatch::IntegrationTest
に修正しています。
先日、docだけ先に修正(Remove ActionController::TestCase from documentation)された対応の関連で、各generatorsが生成するテスト用のファイルでActionDispatch::IntegrationTest
を使用するよう修正、及び既存のテストでActionDispatch::IntegrationTest
を使用するよう修正しています。
が、既存のテストを壊してしまった箇所があった為、後ほどrevertされています。
Merge pull request #22571 from mtsmfm/travel-back
activerecord/test/cases/touch_later_test.rb
の修正です。
touch
処理のテストで、travel
で時刻を固定した後で値を元に戻していなかったので、時刻を固定したい処理をブロックで渡すようにし、時刻を固定する範囲を狭くするよう修正しています。
- travel 5.seconds - - Node.create! parent: nodes(:child_one_of_a), tree: trees(:root) + travel 5.seconds do + Node.create! parent: nodes(:child_one_of_a), tree: trees(:root) + end
Revert "Merge pull request #22569 from seuros/remove-test-case"
Merge pull request #22569 from seuros/remove-test-caseをrevertしています。テストを壊してしまった為。
Merge pull request #22209 from yui-knk/add_test_sanitize_sql_array_handles_named_bind_variables
activerecord/lib/active_record/sanitization.rb
のdoc及び
activerecord/test/cases/sanitize_test.rb
の修正です。
#sanitize_sql_array
メソッドにnamed bind variablesを使用した場合のテストの追加、及び、sanitize_sql_for_conditions
,sanitize_sql_for_assignment
, sanitize_sql_array
メソッドにnamed bind variablesを使用した場合のexampleをdocに追加しています。
Merge pull request #22463 from tjblonsk/add_bug_report_to_contributing_md
rails guideのHow to contribute to Ruby on Rails
の修正です。
バグレポートの仕方についての説明をguideに追加しています。ほぼ丸々書き換えをしている感じです。