module Ocar

Constants

TYPES
VERSION

Public Instance Methods

get_package(track_id) click to toggle source
# File lib/ocar/client.rb, line 10
def get_package(track_id)
  requests = setup_request(track_id)
  run_request
  get_response requests
end

Private Instance Methods

get_response(requests) click to toggle source
# File lib/ocar/client.rb, line 39
def get_response(requests)
  results = []
  requests.map do |request|
    parsed = JSON.parse request.response.body
    results << parsed if parsed['success'] == true
  end
  results
end
run_request() click to toggle source
# File lib/ocar/client.rb, line 35
def run_request
  $hydra.run
end
setup_request(track_id) click to toggle source
# File lib/ocar/client.rb, line 18
def setup_request(track_id)
  # e.g. http://www.oca.com.ar/?q=package-locator&type=paquetes&number=1808200000001055400
  TYPES.map do |type|
    request = Typhoeus::Request.new(
      'http://www.oca.com.ar',
      method: :get,
      params: { q: 'package-locator',
                type: type, number: track_id },
      headers: {
        Accept: 'application/json, text/javascript, */*; q=0.01'
      }
    )
    $hydra.queue(request)
    request
  end
end