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 | 
