aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_view/template/resolver.rb31
-rw-r--r--actionpack/test/controller/view_paths_test.rb2
-rw-r--r--actionpack/test/lib/fixture_template.rb9
3 files changed, 16 insertions, 26 deletions
diff --git a/actionpack/lib/action_view/template/resolver.rb b/actionpack/lib/action_view/template/resolver.rb
index 0b4c62d4d0..4442db22f6 100644
--- a/actionpack/lib/action_view/template/resolver.rb
+++ b/actionpack/lib/action_view/template/resolver.rb
@@ -72,26 +72,10 @@ module ActionView
@path = Pathname.new(path).expand_path
end
- # TODO: This is the currently needed API. Make this suck less
- # ==== <suck>
- attr_reader :path
-
def to_s
- path.to_s
- end
-
- def to_str
- path.to_s
- end
-
- def ==(path)
- to_str == path.to_str
- end
-
- def eql?(path)
- to_str == path.to_str
+ @path.to_s
end
- # ==== </suck>
+ alias to_path to_s
def find_templates(name, details, prefix, partial, root = "#{@path}/")
if glob = details_to_glob(name, details, prefix, partial, root)
@@ -118,13 +102,16 @@ module ActionView
extensions = ""
[:locales, :formats].each do |k|
- extensions << if exts = details[k]
- '{' + exts.map {|e| ".#{e},"}.join + '}'
+ # TODO: OMG NO
+ if details[k] == [:"*/*"]
+ extensions << formats_glob if k == :formats
+ elsif exts = details[k]
+ extensions << '{' + exts.map {|e| ".#{e},"}.join + '}'
else
- k == :formats ? formats_glob : ''
+ extensions << formats_glob if k == :formats
end
end
-
+
"#{root}#{path}#{extensions}#{handler_glob}"
end
end
diff --git a/actionpack/test/controller/view_paths_test.rb b/actionpack/test/controller/view_paths_test.rb
index c732d1c910..05d2c8407c 100644
--- a/actionpack/test/controller/view_paths_test.rb
+++ b/actionpack/test/controller/view_paths_test.rb
@@ -43,7 +43,7 @@ class ViewLoadPathsTest < ActionController::TestCase
end
def expand(array)
- array.map {|x| File.expand_path(x)}
+ array.map {|x| File.expand_path(x.to_s)}
end
def assert_paths(*paths)
diff --git a/actionpack/test/lib/fixture_template.rb b/actionpack/test/lib/fixture_template.rb
index 8da92180d1..9a9abb691d 100644
--- a/actionpack/test/lib/fixture_template.rb
+++ b/actionpack/test/lib/fixture_template.rb
@@ -38,10 +38,13 @@ module ActionView #:nodoc:
extensions = ""
[:locales, :formats].each do |k|
- extensions << if exts = details[k]
- '(?:' + exts.map {|e| "\\.#{Regexp.escape(e.to_s)}"}.join('|') + ')?'
+ # TODO: OMG NO
+ if details[k] == [:"*/*"]
+ extensions << formats_regexp if k == :formats
+ elsif exts = details[k]
+ extensions << '(?:' + exts.map {|e| "\\.#{Regexp.escape(e.to_s)}"}.join('|') + ')?'
else
- k == :formats ? formats_regexp : ''
+ extensions << formats_regexp if k == :formats
end
end