class Sepa::PaymentsInitiation::Pain00800104::CustomerDirectDebitInitiation

Public Instance Methods

generate_xml(opts) click to toggle source
# File lib/sepa/payments_initiation/pain00800104/customer_direct_debit_initiation.rb, line 8
def generate_xml opts
  pain_008_001_version = opts[:pain_008_001_version]

  unless %w{ 02 04 }.include?(pain_008_001_version)
    raise "unknown SEPA pain-008-001 version: #{pain_008_001_version.inspect} - use '04' or '02'"
  end

  doc_props = {
    :xmlns                 => "urn:iso:std:iso:20022:tech:xsd:pain.008.001.#{pain_008_001_version}",
    :"xmlns:xsi"           => "http://www.w3.org/2001/XMLSchema-instance",
    :"xsi:schemaLocation"  => "urn:iso:std:iso:20022:tech:xsd:pain.008.001.#{pain_008_001_version} pain.008.001.#{pain_008_001_version}.xsd"
  }

  builder = Builder::XmlMarkup.new(:indent => 2)
  builder.instruct!
  builder.Document(doc_props) {
    builder.CstmrDrctDbtInitn {
      self.to_xml builder
    }
  }
end