Sha256: 5bb7a4de12a2e2bb2f57f094737fbc695876617d70d0ab8549ccccad0441f7d2

Contents?: true

Size: 576 Bytes

Versions: 4

Compression:

Stored size: 576 Bytes

Contents

require 'forwardable'

module ActiveMocker
  class TemplateCreator

    def initialize(erb_template:, file_out: nil, binding:, post_process: -> (str){str})
      @erb_template = erb_template
      @binding      = binding
      @file_out     = file_out || Tempfile.new('TemplateModel')
      @post_process = post_process
    end

    def render
      template = ERB.new(erb_template.read, nil, '>')
      file_out.write post_process.call(template.result(binding))
      file_out
    end

    private

    attr_reader :erb_template, :binding, :file_out, :post_process
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
active_mocker-2.1.3 lib/active_mocker/template_creator.rb
active_mocker-2.1.2 lib/active_mocker/template_creator.rb
active_mocker-2.1.1 lib/active_mocker/template_creator.rb
active_mocker-2.1.0 lib/active_mocker/template_creator.rb