class Lableb::Client

Public Instance Methods

buildQueryString(params) click to toggle source
# 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) click to toggle source
# 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 = {}) click to toggle source
# 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 = {}) click to toggle source
# 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 = {}) click to toggle source
# 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