def compile(source, destination)
      erb = ERB.new(source.read, nil, '-')
      begin
        destination.puts erb.result(data.instance_binding)
      rescue SyntaxError => e
        raise Exceptions::ErbTemplateHasSyntaxErrors, e.message
      end
    end
def compile(source, destination)
      erb = ERB.new(source.read, nil, '-')
      begin
        destination.puts erb.result(data.instance_binding)
      rescue SyntaxError => e
        raise Exceptions::ErbTemplateHasSyntaxErrors, e.message
      end
    end
Create erb generator

 @param [Data] data
   The data class to be used within the template
 Compile the template

 @param [IO] source
   The source template to be used
 @param [IO] destination
   The output io handle