Sha256: 63aa2178435c3c6c55eddfcd4e268d93ecc217a931a9b574b2032e332acd9674

Contents?: true

Size: 625 Bytes

Versions: 2

Compression:

Stored size: 625 Bytes

Contents

module PensioAPI
  module Callback
    FakeRequest = Struct.new(:headers, :body)
 
    def self.parse_success(xml)
      parse(xml, true)
    end
    
    def self.parse_failure(xml)
      parse(xml, false)
    end
    
    private 
    
    def self.parse(xml, success)
      params = MultiXml.parse(xml)
      
      request = FakeRequest.new(
        params['APIResponse']['Header'],
        params['APIResponse']['Body']
      )
      
      if success
        PensioAPI::Responses::SuccessCallback.new(request)
      else
        PensioAPI::Responses::SubscriptionFailureCallback.new(request)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pensio_api-0.2.3 lib/pensio_api/callback.rb
pensio_api-0.2.2 lib/pensio_api/callback.rb