class EasyPayULatam::RApi::Request

Attributes

_url[RW]

lectura y escritura

error[R]

solo lectura

http_verb[R]

solo lectura

params[RW]

lectura y escritura

response[R]

solo lectura

url[RW]

lectura y escritura

Public Instance Methods

create!() click to toggle source

POST Creación de registro 'create' es un metodo POST en la api de PAYU para todos sus modulos. Card, Client, Plan, … ejecuta la petición y en caso de existir respuesta la guarda en la variable response

# File lib/easy_pay_u_latam/r_api/request.rb, line 29
def create!
  @http_verb = 'Post'
  http
  @response
end
delete(id) click to toggle source

DELETE Eliminar recurso necesita el id del recurso en payu

# File lib/easy_pay_u_latam/r_api/request.rb, line 63
def delete(id)
  @http_verb = 'Delete'
  @url += id.to_s
  http
  @response
end
fail?() click to toggle source

indica si la última petición fallida

# File lib/easy_pay_u_latam/r_api/request.rb, line 76
def fail?
  !@error.nil?
end
id() click to toggle source

retorna el id del último recurso trabajado

# File lib/easy_pay_u_latam/r_api/request.rb, line 81
def id
  raise ArgumentError, 'customer is nil' if @resource.nil?
  @resource['id'] if @resource
end
load(id) click to toggle source

GET Detalle del registro necesita el id del recurso en payu para obtener info

# File lib/easy_pay_u_latam/r_api/request.rb, line 54
def load(id)
  @http_verb = 'Get'
  @url += id.to_s
  http
  @response
end
success?() click to toggle source

indica si la última petición realizada fué exitosa

# File lib/easy_pay_u_latam/r_api/request.rb, line 71
def success?
  @error.nil? && !@response.nil?
end
update(params={}) click to toggle source

PUT Edición de registro 'update' es un metodo PUT en la api de PAYU para todos sus modulos. Card, Client, Plan, … ejecuta la petición y en caso de existir respuesta la guarda en la variable response

recibe como parametros los valores a enviar en el cuerpo de la petición, es decir los campos del recurso que se desea editar con su respectivo valor

# File lib/easy_pay_u_latam/r_api/request.rb, line 41
def update(params={})
  @http_verb = 'Put'
  @url += id.to_s

  @params = params if !params.empty? # si llegan parametros se enviaran y editaran esos params
  @params.merge!({id: id}) if id

  http
  @response
end

Private Instance Methods

http() click to toggle source

ejecución de la petición

# File lib/easy_pay_u_latam/r_api/request.rb, line 98
def http
  puts "#{http_verb} #{@url}"
  uri = URI.parse(@url)
  https = Net::HTTP.new(uri.host,uri.port)

  https.use_ssl = true
  https.verify_mode = OpenSSL::SSL::VERIFY_NONE

  net_class = Object.const_get("Net::HTTP::#{http_verb}")
  request = net_class.new(uri.path, initheader = {'Content-Type' =>'application/json'})

  request['Accept'] = 'application/json'
  request['Accept-language'] = 'es'
  request['Authorization']   = RApi.authorization

  request.body = @params.to_json
  request = https.request(request)

  reset_url

  # llena @response ó @error
  if request.is_a?(Net::HTTPSuccess)
    begin
      @response = JSON.parse(request.body)
    rescue
      @response = request.body
    end
    @error = nil
  else
    @response = nil
    @error = JSON.parse(request.body)
  end
end
reset_url() click to toggle source

reestablece la url en caso de ser necesario

# File lib/easy_pay_u_latam/r_api/request.rb, line 93
def reset_url
  @url = url
end