aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/log_subscriber.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-03-23 00:21:05 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-03-23 03:08:00 +0900
commit53f8716cf09160dee4c933adfe8e8424c26a3f57 (patch)
treeec1b7411a706cfcc5354b77b301cf78c730ac265 /activerecord/lib/active_record/log_subscriber.rb
parent34fe2a4fc778d18b7fe6bdf3629c1481bee789b9 (diff)
downloadrails-53f8716cf09160dee4c933adfe8e8424c26a3f57.tar.gz
rails-53f8716cf09160dee4c933adfe8e8424c26a3f57.tar.bz2
rails-53f8716cf09160dee4c933adfe8e8424c26a3f57.zip
Fix `LogSubscriber` to allow legacy `binds`
Follow up of #27939.
Diffstat (limited to 'activerecord/lib/active_record/log_subscriber.rb')
-rw-r--r--activerecord/lib/active_record/log_subscriber.rb18
1 files changed, 7 insertions, 11 deletions
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