class Synnex::Subscription

Attributes

customer[R]
id[R]
msrp[R]
po[R]
price[R]
quantity[R]
service_name[R]
snx_sku_no[R]
status[R]

Public Class Methods

new(json, api) click to toggle source
# File lib/synnex/synnex_subscription.rb, line 4
def initialize(json, api)
  info = json["subscriptions_info"][0]
  @id = info["subscription_id"]
  @service_name = info["service_name"]
  @snx_sku_no = info["snx_sku_no"]
  @quantity = info["quantity"]
  @status = info["status"]
  @po = json["rs_po_no"]
  @price = info["unit_price"]
  @msrp = info["msrp"]
  @api = api
end

Public Instance Methods

cancel(email=nil) click to toggle source
# File lib/synnex/synnex_subscription.rb, line 23
def cancel(email=nil)
  response = api.cancel_subscription(id, email)
  response["status"] == "success" ? true : response["message"]
end
change_quantity(qty, email=nil) click to toggle source
# File lib/synnex/synnex_subscription.rb, line 17
def change_quantity(qty, email=nil)
  raise "Quantity must be greater than 0" unless qty > 0
  response = api.update_seat(id, qty, email)
  response["status"] == "success" ? true : response["message"]
end

Private Instance Methods

api() click to toggle source
# File lib/synnex/synnex_subscription.rb, line 30
def api
  @api
end