Sha256: 4c84780d1dea3c4bcfb3b8c669e87ff265c4d1349bcd97e351d84f21e983151b

Contents?: true

Size: 923 Bytes

Versions: 4

Compression:

Stored size: 923 Bytes

Contents

module Afipws
  class PersonaServiceA4
    WSDL = {
      development: 'https://awshomo.afip.gov.ar/sr-padron/webservices/personaServiceA4?WSDL',
      production: 'https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4?WSDL',
      test: Root + '/spec/fixtures/ws_sr_padron_a4.wsdl'
    }.freeze

    attr_reader :wsaa

    def initialize options = {}
      @cuit = options[:cuit]
      @wsaa = WSAA.new options.merge(service: 'ws_sr_padron_a4')
      @client = Client.new Hash(options[:savon]).reverse_merge(wsdl: WSDL[@wsaa.env], soap_version: 1)
    end

    def dummy
      request(:dummy)[:return]
    end

    def get_persona id
      message = @wsaa.auth.merge(cuitRepresentada: @cuit, idPersona: id)
      request(:get_persona, message)[:persona_return][:persona]
    end

    private

    def request action, body = nil
      @client.request(action, body).to_hash[:"#{action}_response"]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
afipws-2.3.0 lib/afipws/persona_service_a4.rb
afipws-2.2.0 lib/afipws/persona_service_a4.rb
afipws-2.1.0 lib/afipws/persona_service_a4.rb
afipws-2.0.0 lib/afipws/persona_service_a4.rb