aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/type/binary.rb2
-rw-r--r--activerecord/lib/active_record/type/string.rb4
2 files changed, 4 insertions, 2 deletions
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