class Intersail::Rpdf::ZapPdfClient
Public Class Methods
new(address)
click to toggle source
# File lib/rpdf/services/zap_pdf_client.rb, line 10 def initialize(address) @url = address @ws = Savon.client(wsdl: "#{address}?wsdl") end
Public Instance Methods
delay()
click to toggle source
# File lib/rpdf/services/zap_pdf_client.rb, line 68 def delay rand(self.class.min_try_delay...self.class.max_try_delay) / 1000.0 end
make_pdf_with_local_file(templateFile, data, options = {})
click to toggle source
# File lib/rpdf/services/zap_pdf_client.rb, line 19 def make_pdf_with_local_file(templateFile, data, options = {}) max_tries = options.delete(:max_tries) || self.class.max_tries templateData = Base64.encode64(File.read(templateFile)) try = 1 loop do response = @ws.call(:make_pdf_with_xml, message: { data: templateData, xmlTags: data.to_xml(options) }) pdfData = response.nil? ? nil : response.body[:make_pdf_with_xml_response][:make_pdf_with_xml_result] return Base64.decode64(pdfData) unless pdfData.nil? if try < max_tries try += 1 sleep delay else break end end nil end
url()
click to toggle source
# File lib/rpdf/services/zap_pdf_client.rb, line 15 def url @url end