Class: Zoho::Request

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

Direct Known Subclasses

Api::Addon, Api::HostedPage, Api::Plan, Api::Product

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Request

Returns a new instance of Request.



2
3
4
5
6
# File 'lib/zoho/request.rb', line 2

def initialize attrs={}
  attrs.each do |key, val|
    self.send("#{key}=", val)
  end
end

Class Method Details

.delete(url) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
# 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, &blk) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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

.post(url) {|http, request| ... } ⇒ Object

Yields:

  • (http, request)


50
51
52
53
54
55
56
57
58
# 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| ... } ⇒ Object

Yields:

  • (http, request)


60
61
62
63
64
65
66
67
68
# 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

Instance Method Details

#attributesObject



8
9
10
11
12
13
14
# 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) ⇒ Object



28
29
30
# File 'lib/zoho/request.rb', line 28

def delete url, &blk
  Zoho::Request.delete url, &blk
end

#get(url, &blk) ⇒ Object



16
17
18
# File 'lib/zoho/request.rb', line 16

def get url, &blk
  Zoho::Request.get url, &blk
end

#post(url, &blk) ⇒ Object



20
21
22
# File 'lib/zoho/request.rb', line 20

def post url, &blk
  Zoho::Request.post url, &blk
end

#put(url, &blk) ⇒ Object



24
25
26
# File 'lib/zoho/request.rb', line 24

def put url, &blk
  Zoho::Request.put url, &blk
end