Commit 9ec1f0c4 authored by Jose Ernesto Suarez's avatar Jose Ernesto Suarez

Merge branch 'fix/coql-pagination' into 'master'

Fix/coql pagination

See merge request !3
parents 88f34a8f 6ffbb2c2
.DS_Store
zoholib-*.gem
zoholib*.gem
TO-DO
\ No newline at end of file
v0.0.5b:
- Se corrige la el motodo de consulta coql para poder recibir mas de 200 registros.
\ No newline at end of file
# frozen_string_literal: true
module Wedoops
module Zoholib
VERSION = '0.0.4b'
VERSION = '0.0.5b'
end
end
\ No newline at end of file
......@@ -130,8 +130,8 @@ module Wedoops
# ojo, maxrecords no tiene en cuenta cuantos registros se descaargan
# en cada ocasion por lo que puede devolver registros de mas
# como resto de la llamada anterior
page=1
maxrecords=-1
#page=1
#maxrecords=-1
result = Hash.new
result[:data] = Array.new
params.delete(:page) if params.has_key?(:page)
......@@ -140,24 +140,30 @@ module Wedoops
params.delete(:max_records)
end
loop do
params.merge!(page: page)
response=self.query(coql)
#params.merge!(page: page)
response=self.query(build_offset(coql,result[:data].size))
return response if response[:status] == "error"
if response[:info][:more_records] == true
page+=1
#pp response
result[:data].concat(response[:data])
break if maxrecords > 0 && result[:data].size >= maxrecords
else
break
end
break unless response[:info][:more_records]
@logger.debug("#{result[:data].size} records")
@logger.debug("#{result[:data].last} ")
end
return result
end
private
def build_offset(query,offset=0)
# las consultas de COQL no paginan, trabajan con offsets
@logger.debug("Generando el offset")
uplimit = 200
#+ offset
query_offset = "#{query} LIMIT #{offset},#{uplimit}"
@logger.debug(query_offset)
return query_offset
end
def build_header
{:headers => { "Authorization" => "Zoho-oauthtoken #{@token}"}}
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment