Sha256: fe12675b439ac52b8704dbc1c1fb17d552d4a9cc18dcc6de7732f95c61489b36

Contents?: true

Size: 704 Bytes

Versions: 1

Compression:

Stored size: 704 Bytes

Contents

module Crefo
  module XML
    class Request
      class Envelope
        attr_reader :request

        def initialize(request: raise(ArgumentError))
          @request = request
        end

        def build
          builder = Nokogiri::XML::Builder.new
          builder['soap'].Envelope(XML::Request::NAMESPACES) do |envelope|
            envelope.Header
            envelope.Body do |body|
              body['ns'].send("#{request.class.request_name}Request") do |xml|
                XML::Request::Header.build(xml, request)
                XML::Request::Body.build(xml, request.body)
              end
            end
          end
          builder.to_xml
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
crefo-0.3.0 lib/crefo/xml/request/envelope.rb