Skip to content

Commit c8d6c52

Browse files
use current locale if available
1 parent 61d3095 commit c8d6c52

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

lib/code/object/date.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -705,13 +705,15 @@ def code_format(format, locale: nil)
705705
code_locale = locale.to_code
706706

707707
requested_locale = code_locale.raw&.to_s
708-
locale = requested_locale&.presence_in(LOCALES)&.to_sym || I18n.locale
709-
locale = I18n.locale unless I18n.available_locales.include?(locale.to_sym)
708+
locale = requested_locale&.presence_in(LOCALES)&.to_sym
709+
locale ||= ::Current.locale if defined?(::Current)
710+
locale ||= ::I18n.locale
711+
locale = ::I18n.locale unless ::I18n.available_locales.include?(locale.to_sym)
710712

711713
format = code_format.raw || :default
712-
format = format.to_sym if I18n.exists?("date.formats.#{format}", locale)
714+
format = format.to_sym if ::I18n.exists?("date.formats.#{format}", locale)
713715

714-
String.new(I18n.l(raw, format: format, locale: locale))
716+
String.new(::I18n.l(raw, format: format, locale: locale))
715717
end
716718

717719
def code_format_locale_from_arguments(code_arguments)

lib/code/object/time.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -814,13 +814,15 @@ def code_format(format, locale: nil)
814814
code_locale = locale.to_code
815815

816816
requested_locale = code_locale.raw&.to_s
817-
locale = requested_locale&.presence_in(LOCALES)&.to_sym || I18n.locale
818-
locale = I18n.locale unless I18n.available_locales.include?(locale.to_sym)
817+
locale = requested_locale&.presence_in(LOCALES)&.to_sym
818+
locale ||= ::Current.locale if defined?(::Current)
819+
locale ||= ::I18n.locale
820+
locale = ::I18n.locale unless ::I18n.available_locales.include?(locale.to_sym)
819821

820822
format = code_format.raw || :default
821-
format = format.to_sym if I18n.exists?("time.formats.#{format}", locale)
823+
format = format.to_sym if ::I18n.exists?("time.formats.#{format}", locale)
822824

823-
String.new(I18n.l(raw, format: format, locale: locale))
825+
String.new(::I18n.l(raw, format: format, locale: locale))
824826
end
825827

826828
def code_today

0 commit comments

Comments
 (0)