class Nurego::Subscription

Public Class Methods

create(org_id, params={}, api_key=nil) click to toggle source

Create override

# File lib/nurego/subscription.rb, line 8
def self.create(org_id, params={}, api_key=nil)
  response, api_key = Nurego.request(:post, self.url(org_id), api_key, params)
  Util.convert_to_nurego_object(response, api_key)
end
update(org_id,sub_id,plan_id) click to toggle source
# File lib/nurego/subscription.rb, line 54
def self.update(org_id,sub_id,plan_id)
  response, api_key = Nurego.request(:put, "#{url(org_id)}/#{CGI.escape(sub_id)}", nil, { :plan_id => plan_id })
  Util.convert_to_nurego_object(response, api_key)
end
url(org_id = nil) click to toggle source

override class url

Calls superclass method Nurego::APIResource::url
# File lib/nurego/subscription.rb, line 35
def self.url(org_id = nil)
  return super() unless org_id
  "/v1/organizations/#{CGI.escape(org_id)}/#{CGI.escape(class_name.downcase)}s"
end

Public Instance Methods

cancel(params={}) click to toggle source

Delete override

# File lib/nurego/subscription.rb, line 27
def cancel(params={})
  # use params to pass extra parameters to Nurego backend
  response, api_key = Nurego.request(:delete, url(self.organization_id), @api_key, params)
  refresh_from(response, api_key)
  self
end
entitlements(feature_id = nil) click to toggle source
# File lib/nurego/subscription.rb, line 59
def entitlements(feature_id = nil)
  Entitlement.all(id, {:feature_id => feature_id}, @api_key)
end
save() click to toggle source

Update override

# File lib/nurego/subscription.rb, line 14
def save
  values = serialize_params(self)

  if values.length > 0
    values.delete(:id)

    response, api_key = Nurego.request(:put, url(self.organization_id), @api_key, values)
    refresh_from(response, api_key)
  end
  self
end
update(plan_id) click to toggle source
# File lib/nurego/subscription.rb, line 49
def update(plan_id)
  response, api_key = Nurego.request(:put, url(self.organization_id), nil, { :plan_id => plan_id })
  Util.convert_to_nurego_object(response, api_key)
end
url(org_id = nil) click to toggle source

override instance url

Calls superclass method Nurego::APIResource::url
# File lib/nurego/subscription.rb, line 41
def url(org_id = nil)
  return super() unless org_id
  unless id = self['id']
    raise InvalidRequestError.new("Could not determine which URL to request: #{self.class} instance has no ID: #{self.inspect}", 'id')
  end
  "#{self.class.url(org_id)}/#{CGI.escape(id)}"
end