提交 20440fd8 编写于 作者: A Aaron Patterson

return early from typecasting if the value is nil

上级 94540763
......@@ -25,6 +25,8 @@ def type_cast(value)
class Money
def type_cast(value)
return if value.nil?
# Because money output is formatted according to the locale, there are two
# cases to consider (note the decimal separators):
# (1) $12,345,678.12
......@@ -62,18 +64,24 @@ def type_cast(value)
class Integer
def type_cast(value)
value.to_i
return if value.nil?
value.to_i rescue value ? 1 : 0
end
end
class Boolean
def type_cast(value)
return if value.nil?
ConnectionAdapters::Column.value_to_boolean value
end
end
class Timestamp
def type_cast(value)
return if value.nil?
# FIXME: probably we can improve this since we know it is PG
# specific
ConnectionAdapters::Column.string_to_time value
......@@ -82,6 +90,8 @@ def type_cast(value)
class Date
def type_cast(value)
return if value.nil?
# FIXME: probably we can improve this since we know it is PG
# specific
ConnectionAdapters::Column.value_to_date value
......@@ -90,6 +100,8 @@ def type_cast(value)
class Time
def type_cast(value)
return if value.nil?
# FIXME: probably we can improve this since we know it is PG
# specific
ConnectionAdapters::Column.string_to_dummy_time value
......@@ -98,6 +110,8 @@ def type_cast(value)
class Float
def type_cast(value)
return if value.nil?
value.to_f
end
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册