Class: Naviance::Subscription
- Inherits:
-
Object
- Object
- Naviance::Subscription
- Includes:
- HTTParty
- Defined in:
- lib/naviance/subscription.rb
Instance Attribute Summary (collapse)
-
- (Object) application_id
readonly
Returns the value of attribute application_id.
-
- (Object) expiration_date
readonly
Returns the value of attribute expiration_date.
-
- (Object) partner_id
readonly
Returns the value of attribute partner_id.
-
- (Object) purchase_amount
readonly
Returns the value of attribute purchase_amount.
-
- (Object) reference_id
readonly
Returns the value of attribute reference_id.
-
- (Object) school_id
readonly
Returns the value of attribute school_id.
-
- (Object) status
readonly
Returns the value of attribute status.
-
- (Object) subscription_id
readonly
Returns the value of attribute subscription_id.
Class Method Summary (collapse)
-
+ (Object) list_for_school(env, access_token, id)
Get a Subscription list for a School.
-
+ (Object) process(env, access_token, subscription)
Create/update/expire a Subscription.
Instance Method Summary (collapse)
-
- (Subscription) initialize(params)
constructor
:nodoc:.
Constructor Details
- (Subscription) initialize(params)
:nodoc:
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/naviance/subscription.rb', line 9 def initialize(params) # :nodoc: @subscription_id = params['subscription_id'] @school_id = params['school_id'] @partner_id = params['partner_id'] @application_id = params['application_id'] @expiration_date = params['expiration_date'] @purchase_amount = params['purchase_amount'] @status = params['status'] @reference_id = params['reference_id'] end |
Instance Attribute Details
- (Object) application_id (readonly)
Returns the value of attribute application_id
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def application_id @application_id end |
- (Object) expiration_date (readonly)
Returns the value of attribute expiration_date
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def expiration_date @expiration_date end |
- (Object) partner_id (readonly)
Returns the value of attribute partner_id
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def partner_id @partner_id end |
- (Object) purchase_amount (readonly)
Returns the value of attribute purchase_amount
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def purchase_amount @purchase_amount end |
- (Object) reference_id (readonly)
Returns the value of attribute reference_id
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def reference_id @reference_id end |
- (Object) school_id (readonly)
Returns the value of attribute school_id
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def school_id @school_id end |
- (Object) status (readonly)
Returns the value of attribute status
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def status @status end |
- (Object) subscription_id (readonly)
Returns the value of attribute subscription_id
3 4 5 |
# File 'lib/naviance/subscription.rb', line 3 def subscription_id @subscription_id end |
Class Method Details
+ (Object) list_for_school(env, access_token, id)
Get a Subscription list for a School
Attributes
-
env - The environment you are working in sandbox or production. Also accepts corresponding Rails.env
-
access_token - A valid access token see Naviance::AccessToken#get
-
id - The Naviance ID of the School
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/naviance/subscription.rb', line 71 def self.list_for_school(env, access_token, id) url = "#{Naviance.base_url(env)}/school/#{id}/subscription/?access_token=#{access_token}" resp = get(url) if 200 == resp.code subscriptions = [] resp.parsed_response.each do |subscription| subscriptions << new(MultiJson.decode(subscription)) end subscriptions else Naviance.error(resp) end end |
+ (Object) process(env, access_token, subscription)
Create/update/expire a Subscription
Attributes
-
env - The environment you are working in sandbox or production. Also accepts corresponding Rails.env
-
access_token - A valid access token see Naviance::AccessToken#get
-
subscription - A Hash of the subscription properties
Examples
# Create a new Subscription for a School
Naviance::Subscription.process('sandbox', 'valid_access_token', {
'school_id' => '148bc4f67537',
'reference_id' => 'fe94a82d8949',
'application_id' => '6171de825baf',
'purchase_amount' => '100.00',
'expiration_date' => '2012-01-31',
'status' => 'active'
})
# Deactivate a Subscription for a School
Naviance::Subscription.process('sandbox', 'valid_access_token', {
'subscription_id' => '20af9e4c5a43',
'school_id' => '148bc4f67537',
'reference_id' => 'fe94a82d8949',
'application_id' => '6171de825baf',
'purchase_amount' => '100.00',
'expiration_date' => '2012-01-31',
'status' => 'inactive'
})
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/naviance/subscription.rb', line 50 def self.process(env, access_token, subscription) raise ArgumentError.new("subscription must be a hash.") unless subscription.is_a?(Hash) url = "#{Naviance.base_url(env)}/school/#{subscription['school_id']}/subscription/?access_token=#{access_token}" resp = post(url, :body => subscription) if 200 == resp.code new(resp.parsed_response) else Naviance.error(resp) end end |