diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2017-03-22 19:10:49 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-22 19:10:49 -0400 |
commit | 0709b60fbe2e9eff8b9d07b5c0d4b60f4660f968 (patch) | |
tree | f60233fb9fd60146400174b8fa8c7b09d4ab297a /activerecord/lib | |
parent | ce2bfd87029e905cc457af8e766fd86fca607d6e (diff) | |
parent | 53f8716cf09160dee4c933adfe8e8424c26a3f57 (diff) | |
download | rails-0709b60fbe2e9eff8b9d07b5c0d4b60f4660f968.tar.gz rails-0709b60fbe2e9eff8b9d07b5c0d4b60f4660f968.tar.bz2 rails-0709b60fbe2e9eff8b9d07b5c0d4b60f4660f968.zip |
Merge pull request #28526 from kamipo/fix_log_subscriber_to_allow_legacy_binds
Fix `LogSubscriber` to allow legacy `binds`
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/quoting.rb | 15 | ||||
-rw-r--r-- | activerecord/lib/active_record/log_subscriber.rb | 18 |
2 files changed, 14 insertions, 19 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb index 6019e05c4c..cce8883076 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb @@ -152,16 +152,15 @@ module ActiveRecord "'#{quote_string(value.to_s)}'" end - private - - def type_casted_binds(binds) - if binds.first.is_a?(Array) - binds.map { |column, value| type_cast(value, column) } - else - binds.map { |attr| type_cast(attr.value_for_database) } - end + def type_casted_binds(binds) # :nodoc: + if binds.first.is_a?(Array) + binds.map { |column, value| type_cast(value, column) } + else + binds.map { |attr| type_cast(attr.value_for_database) } end + end + private def id_value_for_database(value) if primary_key = value.class.primary_key value.instance_variable_get(:@attributes)[primary_key].value_for_database diff --git a/activerecord/lib/active_record/log_subscriber.rb b/activerecord/lib/active_record/log_subscriber.rb index ea101946f4..2297c77835 100644 --- a/activerecord/lib/active_record/log_subscriber.rb +++ b/activerecord/lib/active_record/log_subscriber.rb @@ -44,17 +44,17 @@ module ActiveRecord private def type_casted_binds(binds, casted_binds) - casted_binds || binds.map { |attr| type_cast attr.value_for_database } + casted_binds || ActiveRecord::Base.connection.type_casted_binds(binds) end - def render_bind(attr, type_casted_value) - value = if attr.type.binary? && attr.value - "<#{attr.value_for_database.to_s.bytesize} bytes of binary data>" - else - type_casted_value + def render_bind(attr, value) + if attr.is_a?(Array) + attr = attr.first + elsif attr.type.binary? && attr.value + value = "<#{attr.value_for_database.to_s.bytesize} bytes of binary data>" end - [attr.name, value] + [attr && attr.name, value] end def colorize_payload_name(name, payload_name) @@ -89,10 +89,6 @@ module ActiveRecord def logger ActiveRecord::Base.logger end - - def type_cast(value) - ActiveRecord::Base.connection.type_cast(value) - end end end |