class Zoho::Request

Public Class Methods

delete(url) click to toggle source
# File lib/zoho/request.rb, line 70
def self.delete url
  url = URI(url)
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Delete.new(url)
  add_request_headers request
  response = http.request(request)
  return JSON.parse(
    response.read_body,
    object_class: OpenStruct
  )
end
get(url) { |response| ... } click to toggle source
# File lib/zoho/request.rb, line 32
def self.get url, &blk
  url = URI(url)
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Get.new(url)
  add_request_headers request
  response = http.request(request)
  if block_given?
    yield(response)
  else
    return JSON.parse(
      response.read_body,
      object_class: OpenStruct
    )
  end
end
new(attrs={}) click to toggle source
# File lib/zoho/request.rb, line 2
def initialize attrs={}
  attrs.each do |key, val|
    self.send("#{key}=", val)
  end
end
post(url) { |http, request| ... } click to toggle source
# File lib/zoho/request.rb, line 50
def self.post url, &blk
  url = URI(url)
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(url)
  add_request_headers request
  yield(http, request)
end
put(url) { |http, request| ... } click to toggle source
# File lib/zoho/request.rb, line 60
def self.put url, &blk
  url = URI(url)
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Put.new(url)
  add_request_headers request
  yield(http, request)
end

Private Class Methods

add_request_headers(request) click to toggle source
# File lib/zoho/request.rb, line 86
def self.add_request_headers request
  raise "Zoho not configured!" unless Zoho.configuration.present?
  request["Authorization"] = Zoho.configuration.auth_token
  request["X-com-zoho-subscriptions-organizationid"] = Zoho.configuration.organization_id
  request["content-type"] = 'application/json;charset=UTF-8'
end

Public Instance Methods

attributes() click to toggle source
# File lib/zoho/request.rb, line 8
def attributes
  hsh = {}
  self.class.const_get("ATTRS").each do |attr|
    hsh[attr] = self.send(attr)
  end
  return hsh
end
delete(url, &blk) click to toggle source
# File lib/zoho/request.rb, line 28
def delete url, &blk
  Zoho::Request.delete url, &blk
end
get(url, &blk) click to toggle source
# File lib/zoho/request.rb, line 16
def get url, &blk
  Zoho::Request.get url, &blk
end
post(url, &blk) click to toggle source
# File lib/zoho/request.rb, line 20
def post url, &blk
  Zoho::Request.post url, &blk
end
put(url, &blk) click to toggle source
# File lib/zoho/request.rb, line 24
def put url, &blk
  Zoho::Request.put url, &blk
end