aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/path_set.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-12-27 10:15:54 +0100
committerJosé Valim <jose.valim@gmail.com>2010-12-27 10:15:54 +0100
commitecc83c1e6e36913c60d7107fb549c504b1a1e72c (patch)
tree2e65d245cea39d12ab7b0cc729ffe520706b3cac /actionpack/lib/action_view/path_set.rb
parent6b099975fa7e18356b19eca659595713512209e1 (diff)
downloadrails-ecc83c1e6e36913c60d7107fb549c504b1a1e72c.tar.gz
rails-ecc83c1e6e36913c60d7107fb549c504b1a1e72c.tar.bz2
rails-ecc83c1e6e36913c60d7107fb549c504b1a1e72c.zip
Clean up PathSet.
Diffstat (limited to 'actionpack/lib/action_view/path_set.rb')
-rw-r--r--actionpack/lib/action_view/path_set.rb23
1 files changed, 4 insertions, 19 deletions
diff --git a/actionpack/lib/action_view/path_set.rb b/actionpack/lib/action_view/path_set.rb
index 2f662b0739..e3de3e1eac 100644
--- a/actionpack/lib/action_view/path_set.rb
+++ b/actionpack/lib/action_view/path_set.rb
@@ -11,36 +11,21 @@ module ActionView #:nodoc:
end
def find(*args)
- if template = find_first(*args)
- template
- else
- raise MissingTemplate.new(self, *args)
- end
+ find_all(*args).first || raise(MissingTemplate.new(self, *args))
end
def find_all(path, prefixes = [], *args)
prefixes.each do |prefix|
- templates = []
each do |resolver|
- templates.concat resolver.find_all(path, prefix, *args)
+ templates = resolver.find_all(path, prefix, *args)
+ return templates unless templates.empty?
end
- return templates unless templates.empty?
end
[]
end
- def find_first(path, prefixes = [], *args)
- prefixes.each do |prefix|
- each do |resolver|
- template = resolver.find_all(path, prefix, *args).first
- return template if template
- end
- end
- nil
- end
-
def exists?(*args)
- !!find_first(*args)
+ find_all(*args).any?
end
protected