Sha256: 9983c4c0b68d8915d17ee47187f2cc4fc710d13b6a4867bfd8863ccf62184b1f

Contents?: true

Size: 405 Bytes

Versions: 1

Compression:

Stored size: 405 Bytes

Contents

module Pacto
  class ERBProcessor
    include Logger
    def process(contract, values = {})
      erb = ERB.new(contract)
      erb_result = erb.result hash_binding(values)
      logger.debug "Processed contract: #{erb_result.inspect}"
      erb_result
    end

    private

    def hash_binding(values)
      namespace = OpenStruct.new(values)
      namespace.instance_eval { binding }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pacto-0.3.1 lib/pacto/erb_processor.rb