Skip to content

Commit

Permalink
Don't chain i18n backend multiple times
Browse files Browse the repository at this point in the history
Checks if the Slimmer i18n backend has already been chained onto the
backend before adding it. This fixes a recursion issue where over time
the I18n backend would become a chained backend of chained backends
many times over.
  • Loading branch information
boffbowsh committed Aug 5, 2016
1 parent 7d79cde commit cb42f03
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion lib/slimmer/shared_templates.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,17 @@ def self.included into
end

def add_shared_templates
append_view_path Slimmer::ComponentResolver.new

return if slimmer_backend_included?
I18n.backend = I18n::Backend::Chain.new(I18n.backend, Slimmer::I18nBackend.new)
end

append_view_path Slimmer::ComponentResolver.new
private

def slimmer_backend_included?
I18n.backend.is_a?(I18n::Backend::Chain) &&
I18n.backend.backends.any? { |b| b.is_a? Slimmer::I18nBackend }
end
end
end

0 comments on commit cb42f03

Please sign in to comment.