diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2011-06-13 13:11:14 +0100 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2011-06-13 13:11:14 +0100 |
commit | 7d98112cc8394b3b9656f9ac5ec6da02f1c08723 (patch) | |
tree | 605fb8b77a4746c8b8213e7c105563831255b2e8 | |
parent | c70f7b8e0ff11bc1ededfaa70eb1e775ef97453e (diff) |
Make sure the previous locale is restored on block exit, even if the
block was left via return.
-rw-r--r-- | vendor/plugins/globalize2/lib/globalize/active_record.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/vendor/plugins/globalize2/lib/globalize/active_record.rb b/vendor/plugins/globalize2/lib/globalize/active_record.rb index 2915a5737..ce1c50d23 100644 --- a/vendor/plugins/globalize2/lib/globalize/active_record.rb +++ b/vendor/plugins/globalize2/lib/globalize/active_record.rb @@ -88,9 +88,12 @@ module Globalize delegate :set_translation_table_name, :to => :translation_class def with_locale(locale) - previous_locale, self.locale = self.locale, locale - result = yield - self.locale = previous_locale + begin + previous_locale, self.locale = self.locale, locale + result = yield + ensure + self.locale = previous_locale + end result end |