Sha256: 39e0787fcb9aeed1ab2f7b37d4455df94c502ca1bedafe6ba009580090b18cbc

Contents?: true

Size: 520 Bytes

Versions: 3

Compression:

Stored size: 520 Bytes

Contents

# -*- encoding : utf-8 -*-
require_relative '../erb_processor'

module Pacto
  module Hooks
    class ERBHook < Pacto::Hook
      def initialize
        @processor = ERBProcessor.new
      end

      def process(contracts, request_signature, response)
        bound_values = contracts.empty? ? {} : contracts.first.values
        bound_values.merge!(req: { 'HEADERS' => request_signature.headers })
        response.body = @processor.process response.body, bound_values
        response.body
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pacto-0.4.0.rc3 lib/pacto/hooks/erb_hook.rb
pacto-0.4.0.rc2 lib/pacto/hooks/erb_hook.rb
pacto-0.4.0.rc1 lib/pacto/hooks/erb_hook.rb