diff options
author | Matt Jankowski <mjankowski@thoughtbot.com> | 2017-05-08 17:10:50 -0400 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-08 23:10:50 +0200 |
commit | 7a7d12d27f16370c3789aa97514da25c6e91ae4c (patch) | |
tree | 4c908050df715f94d06d4728a0d203a19de911b0 | |
parent | cd830a2fab3f3c640daeb55e024324b56c079557 (diff) |
Delegate Account#user_locale method and allow nil (#2927)
-rw-r--r-- | app/lib/language_detector.rb | 2 | ||||
-rw-r--r-- | app/mailers/notification_mailer.rb | 2 | ||||
-rw-r--r-- | app/models/account.rb | 1 | ||||
-rw-r--r-- | spec/lib/language_detector_spec.rb | 6 |
4 files changed, 5 insertions, 6 deletions
diff --git a/app/lib/language_detector.rb b/app/lib/language_detector.rb index 8c1751beb..ca5cb2591 100644 --- a/app/lib/language_detector.rb +++ b/app/lib/language_detector.rb @@ -35,6 +35,6 @@ class LanguageDetector end def default_locale - account&.user&.locale || I18n.default_locale + account&.user_locale || I18n.default_locale end end diff --git a/app/mailers/notification_mailer.rb b/app/mailers/notification_mailer.rb index f308c403b..a944db137 100644 --- a/app/mailers/notification_mailer.rb +++ b/app/mailers/notification_mailer.rb @@ -71,7 +71,7 @@ class NotificationMailer < ApplicationMailer private def locale_for_account(account) - I18n.with_locale(account.user.locale || I18n.default_locale) do + I18n.with_locale(account.user_locale || I18n.default_locale) do yield end end diff --git a/app/models/account.rb b/app/models/account.rb index a28dc967f..c2dc77d93 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -111,6 +111,7 @@ class Account < ApplicationRecord :current_sign_in_ip, :current_sign_in_at, :confirmed?, + :locale, to: :user, prefix: true, allow_nil: true diff --git a/spec/lib/language_detector_spec.rb b/spec/lib/language_detector_spec.rb index bd4e65ef8..18ab5aee6 100644 --- a/spec/lib/language_detector_spec.rb +++ b/spec/lib/language_detector_spec.rb @@ -43,16 +43,14 @@ describe LanguageDetector do describe 'with an account' do it 'uses the account locale when present' do - user = double(:user, locale: 'fr') - account = double(:account, user: user) + account = double(user_locale: 'fr') result = described_class.new('', account).to_iso_s expect(result).to eq :fr end it 'uses default locale when account is present but has no locale' do - user = double(:user, locale: nil) - account = double(:accunt, user: user) + account = double(user_locale: nil) result = described_class.new('', account).to_iso_s expect(result).to eq :en |