Skip to content

Commit 0aa393f

Browse files
authored
Fix Date::DATE_FORMATS and Time::DATE_FORMAT deprecation warnings (#1386)
1 parent a4446f4 commit 0aa393f

5 files changed

Lines changed: 14 additions & 13 deletions

File tree

lib/active_record/connection_adapters/sqlserver/type/date.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def fast_string_to_date(string)
3838
end
3939

4040
def fast_string_to_date_format
41-
::Date::DATE_FORMATS[:_sqlserver_dateformat]
41+
ActiveSupport::DateFormats.lookup(:_sqlserver_dateformat)
4242
end
4343
end
4444
end

lib/active_record/connection_adapters/sqlserver/type/datetime.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def fast_string_to_time(string)
4242
end
4343

4444
def fast_string_to_time_format
45-
"#{::Time::DATE_FORMATS[:_sqlserver_datetime]}.%N"
45+
"#{::ActiveSupport::TimeFormats.lookup(:_sqlserver_datetime)}.%N"
4646
end
4747
end
4848
end

lib/active_record/connection_adapters/sqlserver/type/smalldatetime.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def sqlserver_type
1616
private
1717

1818
def fast_string_to_time_format
19-
::Time::DATE_FORMATS[:_sqlserver_datetime]
19+
::ActiveSupport::TimeFormats.lookup(:_sqlserver_datetime)
2020
end
2121

2222
def apply_seconds_precision(value)

lib/active_record/connection_adapters/sqlserver_adapter.rb

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -521,16 +521,17 @@ def connection_errors
521521
def initialize_dateformatter
522522
@database_dateformat = user_options_dateformat
523523
a, b, c = @database_dateformat.each_char.to_a
524-
525524
[a, b, c].each { |f| f.upcase! if f == "y" }
525+
526526
dateformat = "%#{a}-%#{b}-%#{c}"
527-
::Date::DATE_FORMATS[:_sqlserver_dateformat] = dateformat
528-
::Time::DATE_FORMATS[:_sqlserver_dateformat] = dateformat
529-
::Time::DATE_FORMATS[:_sqlserver_time] = "%H:%M:%S"
530-
::Time::DATE_FORMATS[:_sqlserver_datetime] = "#{dateformat} %H:%M:%S"
531-
::Time::DATE_FORMATS[:_sqlserver_datetimeoffset] = lambda { |time|
527+
528+
ActiveSupport::DateFormats.register(:_sqlserver_dateformat, dateformat)
529+
ActiveSupport::TimeFormats.register(:_sqlserver_dateformat, dateformat)
530+
ActiveSupport::TimeFormats.register(:_sqlserver_time, "%H:%M:%S")
531+
ActiveSupport::TimeFormats.register(:_sqlserver_datetime, "#{dateformat} %H:%M:%S")
532+
ActiveSupport::TimeFormats.register(:_sqlserver_datetimeoffset, lambda { |time|
532533
time.strftime "#{dateformat} %H:%M:%S.%9N #{time.formatted_offset}"
533-
}
534+
})
534535
end
535536

536537
def version_year

test/cases/adapter_test_sqlserver.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
157157
assert_equal "mdy", dateformat
158158
end
159159

160-
it "has a dateformatter" do
161-
assert Date::DATE_FORMATS[:_sqlserver_dateformat]
162-
assert Time::DATE_FORMATS[:_sqlserver_dateformat]
160+
it "has a date formatter" do
161+
assert ActiveSupport::DateFormats.lookup(:_sqlserver_dateformat)
162+
assert ActiveSupport::TimeFormats.lookup(:_sqlserver_dateformat)
163163
end
164164

165165
it "does a datetime insertion when language is german" do

0 commit comments

Comments
 (0)