class Soaspec::TemplateReader
Handles reading templates for tests
Attributes
template_name[RW]
Name of file where template is stored
Public Instance Methods
file_location()
click to toggle source
@return [String] Path to where template file is stored
# File lib/soaspec/template_reader.rb, line 12 def file_location File.join(*Soaspec.template_folder, template_name) end
render_body(template_name, test_values)
click to toggle source
@param [String] template_name
File where template is stored @return [String] Body of template after determining test_values
# File lib/soaspec/template_reader.rb, line 18 def render_body(template_name, test_values) test_values = IndifferentHash.new(test_values) # Allow test_values to be either Symbol or String test_values&.each do |key, value| instance_variable_set("@#{key}", value) end 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