class Epics::INI

Public Instance Methods

body() click to toggle source
# File lib/epics/ini.rb, line 25
def body
  Nokogiri::XML::Builder.new do |xml|
    xml.body{
      xml.DataTransfer {
        xml.OrderData Base64.strict_encode64(Zlib::Deflate.deflate(key_signature))
      }
    }
  end.doc.root
end
header() click to toggle source
# File lib/epics/ini.rb, line 6
def header
  Nokogiri::XML::Builder.new do |xml|
    xml.header(authenticate: true) {
      xml.static {
        xml.HostID host_id
        xml.PartnerID partner_id
        xml.UserID user_id
        xml.Product("EPICS - a ruby ebics kernel", 'Language' => 'de')
        xml.OrderDetails {
          xml.OrderType 'INI'
          xml.OrderAttribute 'DZNNN'
        }
        xml.SecurityMedium '0000'
      }
      xml.mutable ''
    }
  end.doc.root
end
key_signature() click to toggle source
# File lib/epics/ini.rb, line 35
def key_signature
  Nokogiri::XML::Builder.new do |xml|
    xml.SignaturePubKeyOrderData('xmlns:ds' => 'http://www.w3.org/2000/09/xmldsig#', 'xmlns' => 'http://www.ebics.org/S001') {
      xml.SignaturePubKeyInfo {
        xml.PubKeyValue {
          xml.send('ds:RSAKeyValue') {
            xml.send('ds:Modulus', Base64.strict_encode64([client.a.n].pack("H*")))
            xml.send('ds:Exponent', Base64.strict_encode64(client.a.key.e.to_s(2)))
          }
          xml.TimeStamp timestamp
        }
        xml.SignatureVersion 'A006'
      }
      xml.PartnerID partner_id
      xml.UserID user_id
    }
  end.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML, encoding: 'utf-8')
end
root() click to toggle source
# File lib/epics/ini.rb, line 2
def root
  "ebicsUnsecuredRequest"
end
to_xml() click to toggle source
# File lib/epics/ini.rb, line 54
def to_xml
  Nokogiri::XML::Builder.new do |xml|
    xml.send(root, 'xmlns:ds' => 'http://www.w3.org/2000/09/xmldsig#', 'xmlns' => 'urn:org:ebics:H004', 'Version' => 'H004', 'Revision' => '1') {
      xml.parent.add_child(header)
      xml.parent.add_child(body)
    }
  end.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML, encoding: 'utf-8')
end