Sha256: 5792283c294fecb1520091de0b085e51a1caf8af4ba4fd0e19b51c852e5049e5
Contents?: true
Size: 715 Bytes
Versions: 82
Compression:
Stored size: 715 Bytes
Contents
require 'erb' module Sprockets class ERBProcessor # Public: Return singleton instance with default options. # # Returns ERBProcessor object. def self.instance @instance ||= new end def self.call(input) instance.call(input) end def initialize(&block) @block = block end def call(input) engine = ::ERB.new(input[:data], nil, '<>') context = input[:environment].context_class.new(input) klass = (class << context; self; end) klass.class_eval(&@block) if @block engine.def_method(klass, :_evaluate_template, input[:filename]) data = context._evaluate_template context.metadata.merge(data: data) end end end
Version data entries
82 entries across 76 versions & 15 rubygems