Sha256: a44fa133a053aaf2eee710108ac573a7b1742dd27e8a2f70f1cf30f45055d178
Contents?: true
Size: 1.62 KB
Versions: 3
Compression:
Stored size: 1.62 KB
Contents
# @Opulent module Opulent # @OpulentTemplate class Template < ::Tilt::Template # Allow accessing engine definitions attr_reader :def # Set default mime type self.default_mime_type = 'text/html' # Do whatever preparation is necessary to setup the underlying template # engine. Called immediately after template data is loaded. Instance # variables set in this method are available when #evaluate is called. # # Subclasses must provide an implementation of this method. # def prepare # Set up the rendering engine @engine = ::Opulent.new @data, @options end # Execute the compiled template and return the result string. Template # evaluation is guaranteed to be performed in the scope object with the # locals specified and with support for yielding to the block. # # This method is only used by source generating templates. Subclasses that # override render() may not support all features. # def evaluate(scope, locals, &block) fail ArgumentError, 'Invalid scope: must not be frozen.' if scope.frozen? super end # A string containing the (Ruby) source code for the template. The # default Template#evaluate implementation requires either this # method or the #precompiled method be overridden. When defined, # the base Template guarantees correct file/line handling, locals # support, custom scopes, proper encoding, and support for template # compilation. # def precompiled_template(_locals = {}) @engine.src end end # Register Opulent to Tilt ::Tilt.register Template, 'opulent', 'op' end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
opulent-1.7.6 | lib/opulent/template.rb |
opulent-1.7.5 | lib/opulent/template.rb |
opulent-1.7.4 | lib/opulent/template.rb |