Class: Lableb::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/lableb_client.rb

Instance Method Summary collapse

Instance Method Details

#buildQueryString(params) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/lableb_client.rb', line 41

def buildQueryString(params)
  res = []
  params.each do | key, value |
    if value.kind_of? Array
      res.push(value.map{|el| "#{key}=#{el}"})
    elsif value.is_a? Hash
      value.each do | key2, val2 |
        temp = {}
        if val2.is_a? String
          temp[key] = "#{key2}:\"#{val2}\""
        elsif val2.is_a? Array
          temp[key] = val2.map{|el| "#{key2}:\"#{el}\""}
        end
        res.push(buildQueryString(temp))
      end
    else
      res.push("#{key}=#{value.to_s}")
    end
  end
  res.join("&")
end

#createRequest(url, headers) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/lableb_client.rb', line 7

def createRequest(url, headers)
  http = Net::HTTP.new(url.host, url.port)
  headers.each do | key, value |
    req[key] = value
  end
  http.use_ssl = true
  return http
end

#deleteJSON(url, qs = {}, headers = {}) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/lableb_client.rb', line 33

def deleteJSON(url, qs = {}, headers = {})
  uri = URI("#{url}?#{self.buildQueryString(qs)}")
  http = self.createRequest(uri, headers)
  req = Net::HTTP::Delete.new(uri)
  response = http.request(req)
  return response
end

#getJSON(url, qs = {}, headers = {}) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/lableb_client.rb', line 16

def getJSON(url, qs = {}, headers = {})
  uri = URI("#{url}?#{self.buildQueryString(qs)}")
  http = self.createRequest(uri, headers)
  req = Net::HTTP::Get.new(uri)
  response = http.request(req)
  return response
end

#postJSON(url, body = {}, qs = {}, headers = {}) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/lableb_client.rb', line 24

def postJSON(url, body = {}, qs = {}, headers = {})
  uri = URI("#{url}?#{self.buildQueryString(qs)}")
  http = self.createRequest(uri, headers)
  req = Net::HTTP::Post.new(uri, { 'Content-Type': 'application/json' })
  req.body = body.to_json
  response = http.request(req)
  return response
end