Sha256: 498a724ae4360cde1e7f43c935722106516cba8bf16c6adba50d4f1abcf25590

Contents?: true

Size: 723 Bytes

Versions: 4

Compression:

Stored size: 723 Bytes

Contents

# encoding: UTF-8

module Mojito::Rendering
	
	module Templates
		require 'tilt'
		require 'where'
		require 'mime/types'
		
		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
		
	end
	
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mojito-0.2.6 lib/mojito/rendering/templates.rb
mojito-0.2.5 lib/mojito/rendering/templates.rb
mojito-0.2.4 lib/mojito/rendering/templates.rb
mojito-0.2.3 lib/mojito/rendering/templates.rb