1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Avoid duplication using _find_all

This commit is contained in:
John Hawthorn 2019-04-12 15:40:33 -07:00
parent 53e4055a75
commit 0b26cc41db

View file

@ -118,7 +118,7 @@ module ActionView
locals = locals.map(&:to_s).sort!.freeze
cached(key, [name, prefix, partial], details, locals) do
find_templates(name, prefix, partial, details, locals)
_find_all(name, prefix, partial, details, key, locals)
end
end
@ -131,6 +131,10 @@ module ActionView
private
def _find_all(name, prefix, partial, details, key, locals)
find_templates(name, prefix, partial, details, locals)
end
delegate :caching?, to: :class
# This is what child classes implement. No defaults are needed
@ -178,19 +182,11 @@ module ActionView
super()
end
def find_all(name, prefix = nil, partial = false, details = {}, key = nil, locals = [])
locals = locals.map(&:to_s).sort!.freeze
cached(key, [name, prefix, partial], details, locals) do
find_templates(name, prefix, partial, details, locals, cache: !!key)
end
end
private
def find_templates(name, prefix, partial, details, locals, cache: true)
def _find_all(name, prefix, partial, details, key, locals)
path = Path.build(name, prefix, partial)
query(path, details, details[:formats], locals, cache: cache)
query(path, details, details[:formats], locals, cache: !!key)
end
def query(path, details, formats, locals, cache:)