Class: Zoho::Api::Plan

Inherits:
Request show all
Defined in:
lib/zoho/api/plan.rb

Constant Summary collapse

ATTRS =
[
  :plan_code, :name,
  :recurring_price, :interval,
  :interval_unit, :billing_cycles,
  :trial_period, :setup_fee,
  :product_id, :product_type,
  :hsn_or_sac, :item_tax_preferences,
  :tax_id, :is_taxable,
  :tax_exemption_id, :created_time, :updated_time,
  :tax_exemption_code,:description, :status,
  :error_message, :url
]

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Request

#attributes, #delete, delete, #get, get, #initialize, #post, post, #put, put

Constructor Details

This class inherits a constructor from Zoho::Request

Class Method Details

.allObject



30
31
32
33
34
35
36
37
38
# File 'lib/zoho/api/plan.rb', line 30

def all
  base_url = Zoho::Api::HOST+"/api/v1/plans"
  response = get(base_url)
  if response.code == 0
    return response.plans
  else
    return response
  end
end

.create(attrs = {}) ⇒ Object



40
41
42
43
# File 'lib/zoho/api/plan.rb', line 40

def create(attrs={})
  plan = Zoho::Api::Plan.new(attrs)
  return plan.save
end

.destroy(plan_id) ⇒ Object



70
71
72
73
74
# File 'lib/zoho/api/plan.rb', line 70

def destroy plan_id
  base_url = Zoho::Api::HOST+"/api/v1/plans/#{plan_id}"
  response = Zoho::Request.delete(base_url)
  return response
end

.find(plan_id) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/zoho/api/plan.rb', line 45

def find plan_id
  base_url = Zoho::Api::HOST+"/api/v1/plans/#{plan_id}"
  response = get(base_url)
  if response.code == 0
    return response.plan
  else
    return nil
  end
end

.update(plan_id, attrs = {}) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/zoho/api/plan.rb', line 55

def update plan_id, attrs={}
  plan = Zoho::Api::Plan.new(attrs)
  base_url = Zoho::Api::HOST+"/api/v1/plans/#{plan_id}"
  response = put(base_url) do |http, request|
    request.body = plan.to_json
    response = http.request(request)
    response = JSON.parse(response.body, object_class: OpenStruct)
  end
  if response.code == 0
    return response
  else
    return response
  end
end

Instance Method Details

#saveObject



19
20
21
22
23
24
25
26
27
# File 'lib/zoho/api/plan.rb', line 19

def save
  base_url = Zoho::Api::HOST+"/api/v1/plans"
  response = post(base_url) do |http, request|
    request.body = self.to_json
    response = http.request(request)
    response = JSON.parse(response.body, object_class: OpenStruct)
  end
  return response
end