Sha256: b54b678c7f069b81ff38a024141add172da46734392dea1e485438882ba77a69

Contents?: true

Size: 943 Bytes

Versions: 20

Compression:

Stored size: 943 Bytes

Contents

require 'erb'

module Soaspec
  # Handles reading templates for tests
  class TemplateReader
    # Name of file where template is stored
    attr_accessor :template_name

    # @return [String] Path to where template file is stored
    def file_location
      File.join(*Soaspec.template_folder, template_name)
    end

    # @param [String] template_name File where template is stored
    # @return [String] Body of template after determining test_values
    def render_body(template_name, binding)
      self.template_name = template_name
      unless File.exist? file_location
        raise "Cannot see file at #{file_location}. "\
              "Global folder is '#{Soaspec.template_folder}' and filename is '#{template_name}'"
      end
      request_body = File.read file_location
      raise "Template at #{file_location} not parsed correctly" if request_body.strip.empty?

      ERB.new(request_body).result(binding)
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
soaspec-0.2.29 lib/soaspec/template_reader.rb
soaspec-0.2.28 lib/soaspec/template_reader.rb
soaspec-0.2.27 lib/soaspec/template_reader.rb
soaspec-0.2.26 lib/soaspec/template_reader.rb
soaspec-0.2.25 lib/soaspec/template_reader.rb
soaspec-0.2.23 lib/soaspec/template_reader.rb
soaspec-0.2.22 lib/soaspec/template_reader.rb
soaspec-0.2.21 lib/soaspec/template_reader.rb
soaspec-0.2.20 lib/soaspec/template_reader.rb
soaspec-0.2.19 lib/soaspec/template_reader.rb
soaspec-0.2.18 lib/soaspec/template_reader.rb
soaspec-0.2.17 lib/soaspec/template_reader.rb
soaspec-0.2.16 lib/soaspec/template_reader.rb
soaspec-0.2.15 lib/soaspec/template_reader.rb
soaspec-0.2.14 lib/soaspec/template_reader.rb
soaspec-0.2.13 lib/soaspec/template_reader.rb
soaspec-0.2.12 lib/soaspec/template_reader.rb
soaspec-0.2.11 lib/soaspec/template_reader.rb
soaspec-0.2.10 lib/soaspec/template_reader.rb
soaspec-0.2.9 lib/soaspec/template_reader.rb