From 0eb9e1e51a9df554e1cf7a42ec339ca6f0120a04 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Mon, 18 Mar 2019 10:18:36 -0700 Subject: Raise in LookupContext#formats= on invalid format This is a developer quality of life improvement, to ensure that unknown formats aren't assigned (which it would previously accept, but wouldn't work 100% correctly due to caching). --- actionview/lib/action_view/lookup_context.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'actionview/lib/action_view/lookup_context.rb') diff --git a/actionview/lib/action_view/lookup_context.rb b/actionview/lib/action_view/lookup_context.rb index 41751c2963..8d92130957 100644 --- a/actionview/lib/action_view/lookup_context.rb +++ b/actionview/lib/action_view/lookup_context.rb @@ -284,6 +284,11 @@ module ActionView values.concat(default_formats) if values.delete "*/*" values.uniq! + invalid_types = (values - Template::Types.symbols) + unless invalid_types.empty? + raise ArgumentError, "Invalid formats: #{invalid_types.map(&:inspect).join(", ")}" + end + if values == [:js] values << :html @html_fallback_for_js = true -- cgit v1.2.3