Module: IPay::Certification

Defined in:
lib/ipay/certification.rb

Class Method Summary collapse

Class Method Details

.capture(output_path = './') ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ipay/certification.rb', line 11

def self.capture(output_path = './')
  IPay::config do |c|
    c.certification = true
  end

  yield
  
  self.save(output_path)
  
  IPay::config do |c|
    c.certification = false
  end
end

.log(parsed_xml) ⇒ Object



6
7
8
9
# File 'lib/ipay/certification.rb', line 6

def self.log(parsed_xml)
  @@responses ||= ''
  @@responses << parsed_xml.to_s.split("\n")[2...-1].join("\n") + "\n"
end

.save(path) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/ipay/certification.rb', line 25

def self.save(path)
  raise 'Certification mode is not activated' unless IPay::config.certification
  
  file_name = File.join(path, "#{IPay::config.operator}_#{Date.today.to_s.split('-').join}#{Random.new.rand(1..99).to_s.rjust(2, '0')}.xml")
  file = File.open(file_name, 'w')
  raise "Failed to open certification file '#{file_name}' for writing" unless file
  file.write("<RESPONSES>\n#{@@responses}</RESPONSES>")
end