From 42be84ba40d95561554a4ccd62f482b028454025 Mon Sep 17 00:00:00 2001 From: Dylan Thacker-Smith Date: Sun, 6 Jul 2014 01:49:19 -0400 Subject: active_record: Type cast booleans and durations for string columns. --- activerecord/lib/active_record/type/binary.rb | 2 +- activerecord/lib/active_record/type/string.rb | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/type/binary.rb b/activerecord/lib/active_record/type/binary.rb index 7416c554c7..d29ff4e494 100644 --- a/activerecord/lib/active_record/type/binary.rb +++ b/activerecord/lib/active_record/type/binary.rb @@ -24,7 +24,7 @@ module ActiveRecord class Data # :nodoc: def initialize(value) - @value = value + @value = value.to_s end def to_s diff --git a/activerecord/lib/active_record/type/string.rb b/activerecord/lib/active_record/type/string.rb index 8cc533bc41..e1791169d8 100644 --- a/activerecord/lib/active_record/type/string.rb +++ b/activerecord/lib/active_record/type/string.rb @@ -17,8 +17,10 @@ module ActiveRecord def type_cast_for_database(value) case value - when ::Numeric then value.to_s + when ::Numeric, ActiveSupport::Duration then value.to_s when ::String then ::String.new(value) + when true then "1" + when false then "0" else super end end -- cgit v1.2.3