Skip to content

Commit bebab3b

Browse files
committed
Changes to datetime -> time handling using oh so super Time.time_with_datetime_fallback that the rest of the framework seems to like.
Brings up the question that if we're casting to a Time and get a DateTime is that ok? The rest of the framework seems to think that's ok, but is it really?
1 parent 982fcb9 commit bebab3b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

lib/active_record/connection_adapters/sqlserver_adapter.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ def type_cast(value)
8989
def cast_to_time(value)
9090
return value if value.is_a?(Time)
9191
time_array = ParseDate.parsedate(value)
92-
Time.send(Base.default_timezone, *time_array) rescue nil
92+
Time.time_with_datetime_fallback(Base.default_timezone, *time_array) rescue nil
93+
#Time.send(Base.default_timezone, *time_array) rescue nil
9394
end
9495

9596
def cast_to_datetime(value)
@@ -104,8 +105,7 @@ def cast_to_datetime(value)
104105
end
105106

106107
if value.is_a?(DateTime)
107-
return Time.mktime(value.year, value.mon, value.day, value.hour, value.min, value.sec)
108-
#return DateTime.new(value.year, value.mon, value.day, value.hour, value.min, value.sec)
108+
return Time.time_with_datetime_fallback(Base.default_timezone, value.year, value.mon, value.day, value.hour, value.min, value.sec)
109109
end
110110

111111
return cast_to_time(value) if value.is_a?(Date) or value.is_a?(String) rescue nil
@@ -116,7 +116,7 @@ def cast_to_datetime(value)
116116

117117
def self.string_to_time(value)
118118
if value.is_a?(DateTime)
119-
return Time.mktime(value.year, value.mon, value.day, value.hour, value.min, value.sec)
119+
return Time.time_with_datetime_fallback(Base.default_timezone, value.year, value.mon, value.day, value.hour, value.min, value.sec)
120120
else
121121
super
122122
end

0 commit comments

Comments
 (0)