Sha256: 9c740fdbb58dcdccb80b64230daad10864db48e6b67c4c42d1b0ddd6a4415b48
Contents?: true
Size: 727 Bytes
Versions: 10
Compression:
Stored size: 727 Bytes
Contents
# frozen_string_literal: true 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
10 entries across 9 versions & 3 rubygems