Sha256: 6c2fe9cd3bc4dd06fc687e4b870143d39db39c378f780a4ed2061c1548ff1289

Contents?: true

Size: 781 Bytes

Versions: 5

Compression:

Stored size: 781 Bytes

Contents

require 'rexml/document'
require 'rexml/xpath'
require 'rforce/soap_pullable'


module RForce
  # Turns an XML response from the server into a Ruby
  # object whose methods correspond to nested XML elements.
  class SoapResponseRexml
    include SoapPullable

    %w(attlistdecl cdata comment doctype doctype_end elementdecl
       entity entitydecl instruction notationdecl xmldecl).each do |unused|
      define_method(unused) {}
    end

    def initialize(content)
      @content = content
    end
    
    # Parses an XML string into structured data.
    def parse
      @current_value = nil
      @stack = []
      @parsed = OpenHash.new({})
      @done = false
      @namespaces = []

      REXML::Document.parse_stream @content, self
      
      @parsed
    end
  end
end

Version data entries

5 entries across 5 versions & 4 rubygems

Version Path
copious-activerecord-activesalesforce-adapter-2.3.1 lib/rforce/soap_response_rexml.rb
johnreilly-activerecord-activesalesforce-adapter-2.3.5 lib/rforce/soap_response_rexml.rb
sportgenic-activerecord-activesalesforce-adapter-2.3.3 lib/rforce/soap_response_rexml.rb
sportgenic-activerecord-activesalesforce-adapter-2.3.4 lib/rforce/soap_response_rexml.rb
althor880-activerecord-activesalesforce-adapter-2.3.5 lib/rforce/soap_response_rexml.rb