class EasyPayULatam::RApi::Request
Attributes
lectura y escritura
solo lectura
solo lectura
lectura y escritura
solo lectura
lectura y escritura
Public Instance Methods
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 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
indica si la última petición fallida
# File lib/easy_pay_u_latam/r_api/request.rb, line 76 def fail? !@error.nil? end
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
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
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
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
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
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