Sha256: c688fc86653cf1e68bf562df6f7d50b498f3b10680318718ef8603d07f2602fe

Contents?: true

Size: 697 Bytes

Versions: 106

Compression:

Stored size: 697 Bytes

Contents

module Temple
  module Mixins
    # @api private
    module Template
      include ClassOptions

      def compile(code, options)
        engine = options.delete(:engine)
        raise 'No engine configured' unless engine
        engine.new(options).call(code)
      end

      def register_as(*names)
        raise NotImplementedError
      end

      def create(engine, options)
        register_as = options.delete(:register_as)
        template = Class.new(self)
        template.disable_option_validator!
        template.options[:engine] = engine
        template.options.update(options)
        template.register_as(*register_as) if register_as
        template
      end
    end
  end
end

Version data entries

106 entries across 92 versions & 7 rubygems

Version Path
temple-0.7.6 lib/temple/mixins/template.rb
temple-0.7.5 lib/temple/mixins/template.rb
temple-0.7.4 lib/temple/mixins/template.rb
temple-0.7.3 lib/temple/mixins/template.rb
temple-0.7.2 lib/temple/mixins/template.rb
temple-0.7.1 lib/temple/mixins/template.rb