Module: Vidalo::API::Get

Included in:
Connection
Defined in:
lib/vidalo/api/get.rb

Instance Method Summary collapse

Instance Method Details

#get_number_of_productsObject

Return number of total products



32
33
34
# File 'lib/vidalo/api/get.rb', line 32

def get_number_of_products
  send_api_request('products', { 'start-page' => 1, 'page-size' => 1 }).at('totalResults').text.to_i
end

#send_api_request(keyword, params = {}) ⇒ Object

Return Nokogiri object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/vidalo/api/get.rb', line 5

def send_api_request(keyword, params = {})
  request = @conn.get do |req|
    req.url(keyword)
    unless params.empty?
      params.each do |param_key, param_value|
        req.params[param_key] = param_value
      end
    end
  end

  unless request.status == 200
    raise %{

      Seems there is a problem when connect to Vidal server. 
      The HTTP request status code is: #{request.status}.

      You may want to test the connection with the URL below in your browser:
      #{request.env.url}
    } 
  else
    Nokogiri::XML(request.body).errors.empty? ?
      Nokogiri::XML(request.body).remove_namespaces!.at('feed') :
      nil
  end
end