class Padron::Call
Attributes
body[R]
client[R]
data[R]
environment[R]
fault_code[R]
id[R]
Public Class Methods
new(args={})
click to toggle source
# File lib/padron/call.rb, line 6 def initialize(args={}) @environment = args[:environment] || :test @id = args[:id] || raise(NullOrInvalidAttribute.new, "Por favor ingrese el documento.") end
Public Instance Methods
dummy()
click to toggle source
# File lib/padron/call.rb, line 11 def dummy set_client pp reponse = client.call(:dummy) end
get_data()
click to toggle source
# File lib/padron/call.rb, line 16 def get_data @data = get_personas return nil unless fault_code.nil? set_data end
get_personas()
click to toggle source
# File lib/padron/call.rb, line 22 def get_personas set_client set_body response = client.call(:get_persona_list, message: body) rescue Savon::SOAPFault => error if !error.blank? @fault_code = error.to_hash[:fault][:faultstring] else @fault_code = nil end return response end
Private Instance Methods
service_url()
click to toggle source
# File lib/padron/call.rb, line 61 def service_url Padron::URLS[environment][:padron] end
set_body()
click to toggle source
# File lib/padron/call.rb, line 51 def set_body ids = Padron::IdPersona.new(id).return_cuits body = Padron.auth_hash id_personas = [] ids.map do |cuit| id_personas << cuit end @body = body.merge({"idPersona" => id_personas}) end
set_client()
click to toggle source
# File lib/padron/call.rb, line 37 def set_client Padron::AuthData.fetch @client = Savon.client( wsdl: service_url, log_level: :debug, ssl_cert_key_file: Padron.pkey, ssl_cert_file: Padron.cert, ssl_verify_mode: :none, read_timeout: 90, open_timeout: 90, headers: { "Accept-Encoding" => "gzip, deflate", "Connection" => "Keep-Alive" } ) end
set_data()
click to toggle source
# File lib/padron/call.rb, line 65 def set_data personas = data.body[:get_persona_list_response][:persona_list_return][:persona] personas.map do |persona| unless persona[0] == :error_constancia && persona.try(:[],:apellido).nil? if !persona[1].nil? && persona[0] == :error_constancia {:name => set_name(persona[1]), :cuit => persona[1][:id_persona]} else {:name => set_name(persona[1]), :cuit => persona[1][:id_persona], :cp => persona[1].try(:[], :domicilio_fiscal).try(:[], :cod_postal), :address => persona[1].try(:[], :domicilio_fiscal).try(:[], :direccion), :city_id => persona[1].try(:[], :domicilio_fiscal).try(:[], :id_provincia), :city => Padron::PROVINCIAS[persona[1].try(:[],:domicilio_fiscal).try(:[], :id_provincia)], :locality => persona[1].try(:[], :domicilio_fiscal).try(:[], :localidad)} end end end end
set_name(persona)
click to toggle source
# File lib/padron/call.rb, line 85 def set_name(persona) return "#{persona.try(:[], :nombre)} #{persona.try(:[], :apellido)}" end