Class: Nurego::Subscription
- Inherits:
-
APIResource
- Object
- NuregoObject
- APIResource
- Nurego::Subscription
- Includes:
- APIOperations::Update
- Defined in:
- lib/nurego/subscription.rb
Instance Attribute Summary
Attributes inherited from NuregoObject
Class Method Summary collapse
-
.create(org_id, params = {}, api_key = nil) ⇒ Object
Create override.
- .update(org_id, sub_id, plan_id) ⇒ Object
-
.url(org_id = nil) ⇒ Object
override class url.
Instance Method Summary collapse
-
#cancel(params = {}) ⇒ Object
Delete override.
- #entitlements(feature_id = nil) ⇒ Object
-
#save ⇒ Object
Update override.
- #update(plan_id) ⇒ Object
-
#url(org_id = nil) ⇒ Object
override instance url.
Methods included from APIOperations::Update
Methods inherited from APIResource
class_name, #refresh, retrieve
Methods inherited from NuregoObject
#[], #[]=, #as_json, construct_from, #each, #initialize, #inspect, #keys, #refresh_from, #to_hash, #to_json, #to_s, #values
Constructor Details
This class inherits a constructor from Nurego::NuregoObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Nurego::NuregoObject
Class Method Details
.create(org_id, params = {}, api_key = nil) ⇒ Object
Create override
8 9 10 11 |
# 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) ⇒ Object
54 55 56 57 |
# 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) ⇒ Object
override class url
35 36 37 38 |
# 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 |
Instance Method Details
#cancel(params = {}) ⇒ Object
Delete override
27 28 29 30 31 32 |
# 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) ⇒ Object
59 60 61 |
# File 'lib/nurego/subscription.rb', line 59 def entitlements(feature_id = nil) Entitlement.all(id, {:feature_id => feature_id}, @api_key) end |
#save ⇒ Object
Update override
14 15 16 17 18 19 20 21 22 23 24 |
# 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) ⇒ Object
49 50 51 52 |
# 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) ⇒ Object
override instance url
41 42 43 44 45 46 47 |
# 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 |