Module: ApiBucket::Base::Client::Http

Included in:
Itunes::Client::Http, Rakuten::Client::Http, Yahooauction::Client::Http
Defined in:
lib/api_bucket/base/client/http.rb

Instance Method Summary collapse

Instance Method Details

#prepare_query(options) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/api_bucket/base/client/http.rb', line 20

def prepare_query(options)
  query = ''

  # sort to asc
  options = options.sort do |c,d|
    c[0].to_s <=> d[0].to_s
  end

  # generate query_string from options
  options.each do |key, value|
    next if value.nil?
    query << "&#{key}=#{URI.encode(value.to_s)}"
  end

  # sub string first charactor
  query.slice!(0)
  query
end

#send_request(options, url) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/api_bucket/base/client/http.rb', line 4

def send_request(options, url)
  request_url = "#{url}?#{prepare_query(options)}"

  res = nil
  begin
    res = open(request_url, {}) do |f|
      @raw_response = f.read
      JSON.parse(@raw_response)
    end
  rescue => e
    #p "#{e.message} : #{request_url}"
  end

  res
end