Module: Mojito::Rendering::Templates

Defined in:
lib/mojito/rendering/templates.rb

Instance Method Summary collapse

Instance Method Details

#template(*args, &block) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/mojito/rendering/templates.rb', line 10

def template(*args, &block)
	locals = Hash === args.last ? args.pop : self.request.locals
	template = if args.size == 2
		Tilt[args.first].new { args.last }
	elsif args.size == 1
		file = Where.cdir(1) + args.first
		Mojito::R::StatusCodes.instance_method(:not_found!).bind(self).call unless file.exist?
		if not response.include?('Content-Type') and %r{\.(?<extension>\w+)\.\w+$} =~ file.to_s
			response['Content-Type'] = MIME::Types.type_for(extension)
		end
		Tilt[file.to_s].new file.to_s
	end
	response.write template.render(self, locals, &block)
end