2016/04/06分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
actionmailer/CHANGELOG.md
guides/CHANGELOG.md
quick edits on the AC::API RDoc [ci skip]
actionpack/lib/action_controller/api.rb
のdocの修正です。
ActionController::Api
クラスのdocの、グラマーの修正、言い回しの修正、メソッド名をタイポしている箇所があったのを修正、等をまとめて行っています。
Sendmail default arguments match Mail::SendMail
actionmailer/lib/action_mailer/delivery_methods.rb
の修正です。
sendmailのデフォルトの引数から-t
を削除しています。
Mail::SendMail
クラスからは既に削除されており、それに合わせる為との事です。
参考: Error when using Exim "sendmail" · Issue #70 · mikel/mail
Use SQLite3 3.7.15 which supports multiple values insert
.travis.yml
の修正です。
travisでのテストでSQLite3 3.7.15が使用されるよう、sqlite3 packageの更新処理を追加しています。
SQLite3 3.7.11から、1ステートメントでの複数値のinsertをサポートしており、そのテストを行えるようにする為のようです。
が、テストが壊れてしまった為、後ほどrevertされています。
Remove hard-coded backticks in SQL statements
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
の修正です。
SQL内でのクォート処理にbacktick("")がハードコードされていたのを、メソッド(
quote_table_name`)を使用するよう修正しています。
Merge pull request #24433 from kamipo/avoid_unused_capture
activesupport/lib/active_support/core_ext/marshal.rb
の修正です。
ActiveSupport::MarshalWithAutoloading#load
メソッド内のnested class/moduleを判定する為の正規表現で、使用しないグループをキャプチャしないよう修正しています。
- if exc.message.match(%r|undefined class/module (.+?)(::)?\z|) + if exc.message.match(%r|undefined class/module (.+?)(?:::)?\z|)
Fix undefined method `owners' for NullPreloader:Class
activerecord/lib/active_record/associations/preloader.rb
の修正です。
NullPreloader
クラスに、.owners
メソッドを追加しています。
through + polymorphic + sourceを指定したassocitaionがemptyだった場合に、preload処理でエラーになるのを防ぐ為、との事です。ややこしい…。
rails guideのActive Model Basics
の修正です。
guideで説明している事の一覧に、Railsのi18nフレームワークについて、という一行があったのでですが、実際は、Active ModelがどのようにしてRailsのi18nフレームワークとインテグレートしているか、についてだったので、その旨説明を修正しています。
Update example of passing a proc to :message
option for validating records [ci skip]
rails guideのActive Record Validations
の修正です。
Common Validation Options
の項の:message
オプションについて説明している箇所に、ActiveModel::Errors::generate_message
メソッドでエラーメッセージを組み立てる際に、I18n.translate
メソッドにobject
を渡すよう修正した対応(Allow passing record being validated to error message generator)の変更内容を反映しています。
validates :username, uniqueness: { - # key = "activerecord.errors.models.person.attributes.username.taken" + # object = person object being validated # data = { model: "Person", attribute: "Username", value: <username> } - message: ->(key, data) do - "#{data[:value]} taken! Try again #{Time.zone.tomorrow}" + message: ->(object, data) do + "Hey #{object.name}!, #{data[:value]} is taken already! Try again #{Time.zone.tomorrow}" end }
procに渡される引数がi18n用のkeyだったのがvalidation処理が行われたobjectに変わっているから、CHANGELOGを追記したのか。
Merge pull request #24431 from vipulnsward/24119-followup
activemodel/test/cases/validations_test.rb
の修正です。
message生成用のprocにvalidation処理が行われたobjectと、処理が行われたattributesのdataが渡される事を確認するテストを追加しています。
Revert "Merge pull request #24440 from yahonda/use_newer_version_of_sqlite3_at_travis_ci"
travisでのテストでSQLite3 3.7.15が使用されるよう、sqlite3 packageの更新処理を追加した、Use SQLite3 3.7.15 which supports multiple values insertをrevertしています。テストが壊れてしまった為。
Cable typo: isSupportedProtocol -> isProtocolSupported
actioncable/app/assets/javascripts/action_cable/connection.coffee
の修正です。
isProtocolSupported
をisSupportedProtocol
にタイポしていた箇所があったのを修正しています。
Merge pull request #24374 from kamipo/move_quoting_methods_to_quoting_module
Active Recordの修正です。
各adapterクラスに定義されていたquote処理用のメソッドを、Quoting
module内に移動しています。
Merge pull request #24078 from kamipo/show_variables
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
の修正です。
show_variable
メソッドでselect_value
メソッドを使用するよう修正しています。
- variables = select_all("select @@#{name} as 'Value'", 'SCHEMA') - variables.first['Value'] unless variables.empty? + select_value("SELECT @@#{name}", 'SCHEMA')