diff options
author | Stormwind <stormwind@stormwinds-page.de> | 2012-11-29 21:11:31 +0100 |
---|---|---|
committer | Stormwind <stormwind@stormwinds-page.de> | 2012-11-29 21:11:31 +0100 |
commit | eccd314e23002a9dbbbc716d14c3cf4fca1247fa (patch) | |
tree | 729eea6ce815988462bb128b03188e1a88387167 | |
parent | c6623d47df647cfd719d1b1d64d056184d55d080 (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.rb | 14 | ||||
-rw-r--r-- | spec/unit/renderer/read_template_path_spec.rb | 11 |
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 |