Class: Lableb::Client
- Inherits:
-
Object
- Object
- Lableb::Client
- Defined in:
- lib/lableb_client.rb
Instance Method Summary collapse
- #buildQueryString(params) ⇒ Object
- #createRequest(url, headers) ⇒ Object
- #deleteJSON(url, qs = {}, headers = {}) ⇒ Object
- #getJSON(url, qs = {}, headers = {}) ⇒ Object
- #postJSON(url, body = {}, qs = {}, headers = {}) ⇒ Object
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 |