aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2008-12-03 09:59:04 -0600
committerJoshua Peek <josh@joshpeek.com>2008-12-03 10:57:35 -0600
commit2fc6c7dd05b9481ed81fe19c8fc0cc7915868404 (patch)
tree9f2fa4112507c50645c55cf990a22256e502ebde /actionpack/lib/action_view
parent99f2cb4918786382413bdd29b3cacfd5b9377677 (diff)
downloadrails-2fc6c7dd05b9481ed81fe19c8fc0cc7915868404.tar.gz
rails-2fc6c7dd05b9481ed81fe19c8fc0cc7915868404.tar.bz2
rails-2fc6c7dd05b9481ed81fe19c8fc0cc7915868404.zip
Validate template extensions [#1187 state:resolved]
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r--actionpack/lib/action_view/template.rb14
1 files changed, 6 insertions, 8 deletions
diff --git a/actionpack/lib/action_view/template.rb b/actionpack/lib/action_view/template.rb
index b486392ac4..52378e049e 100644
--- a/actionpack/lib/action_view/template.rb
+++ b/actionpack/lib/action_view/template.rb
@@ -115,16 +115,14 @@ module ActionView #:nodoc:
# [base_path, name, format, extension]
def split(file)
if m = file.match(/^(.*\/)?([^\.]+)\.?(\w+)?\.?(\w+)?\.?(\w+)?$/)
- if m[5] # Multipart formats
+ if valid_extension?(m[5]) # Multipart formats
[m[1], m[2], "#{m[3]}.#{m[4]}", m[5]]
- elsif m[4] # Single format
+ elsif valid_extension?(m[4]) # Single format
[m[1], m[2], m[3], m[4]]
- else
- if valid_extension?(m[3]) # No format
- [m[1], m[2], nil, m[3]]
- else # No extension
- [m[1], m[2], m[3], nil]
- end
+ elsif valid_extension?(m[3]) # No format
+ [m[1], m[2], nil, m[3]]
+ else # No extension
+ [m[1], m[2], m[3], nil]
end
end
end