aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStormwind <stormwind@stormwinds-page.de>2012-11-29 21:11:31 +0100
committerStormwind <stormwind@stormwinds-page.de>2012-11-29 21:11:31 +0100
commiteccd314e23002a9dbbbc716d14c3cf4fca1247fa (patch)
tree729eea6ce815988462bb128b03188e1a88387167
parentc6623d47df647cfd719d1b1d64d056184d55d080 (diff)
Add default value for default templates
If a template has no type specifcation in it's name, then we use 'default' as map name now.
-rw-r--r--lib/zero/renderer.rb14
-rw-r--r--spec/unit/renderer/read_template_path_spec.rb11
2 files changed, 20 insertions, 5 deletions
diff --git a/lib/zero/renderer.rb b/lib/zero/renderer.rb
index 8ca544d..5bbb875 100644
--- a/lib/zero/renderer.rb
+++ b/lib/zero/renderer.rb
@@ -61,12 +61,16 @@ module Zero
search_files.each do |file|
parts = file.gsub(/#{template_path}/, '').split('.')
@templates[parts[0]] ||= {}
+
+ # Set default value
+ types = 'default'
+ # Overwrite default value, if it's set in template path
if parts.count > 2 then
- read_type(parts[1]).each do |type|
- @templates[parts[0]][type] = file
- end
- else
- @templates[parts[0]][''] = file
+ types = parts[1]
+ end
+
+ read_type(types).each do |type|
+ @templates[parts[0]][type] = file
end
end
end
diff --git a/spec/unit/renderer/read_template_path_spec.rb b/spec/unit/renderer/read_template_path_spec.rb
index bc441ed..e025bb1 100644
--- a/spec/unit/renderer/read_template_path_spec.rb
+++ b/spec/unit/renderer/read_template_path_spec.rb
@@ -39,4 +39,15 @@ describe Zero::Renderer, 'read_template_path!' do
it_behaves_like 'a template loader'
end
+
+ context 'with default template' do
+ let(:file_list) {['foo/welcome/index.erb']}
+ let(:type_map) { {'default' => ['text/html', 'text/xml'] } }
+ let(:result) { {
+ 'text/html' => 'foo/welcome/index.erb',
+ 'text/xml' => 'foo/welcome/index.erb'
+ } }
+
+ it_behaves_like 'a template loader'
+ end
end