class GroupDocs::Subscription

Constants

LIMITS

Attributes

CurrencyCode[RW]

@attr [String] CurrencyCode

Id[RW]

@attr [Integer] Id

Name[RW]

@attr [String] Name

Price[RW]

@attr [Integer] Price

PricingPlanId[RW]

@attr [Integer] PricingPlanId

Public Class Methods

current!(access = {}) click to toggle source

Returns current subscription plan.

@example

GroupDocs::Subscription.current!.name
#=> 'Free'

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 36
def self.current!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/system/{{client_id}}/plan'
  end.execute!

  new(json)
end
get_countries!(access = {}) click to toggle source

Returns countries.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 126
def self.get_countries!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/system/{{client_id}}/countries'
  end.execute!

  json[:countries]
end
get_invoices!(options = {}, access = {}) click to toggle source

Get invoices.

@param [Hash] options @option options [String] :pageNumber @option options [String] :pageSize @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array] Invoices

# File lib/groupdocs/subscription.rb, line 186
def self.get_invoices!(options = {}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/invoices"
  end
  api.add_params(options)
  json = api.execute!

  json[:invoices]
end
get_plans!(access = {}) click to toggle source

Get subscription plans.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# File lib/groupdocs/subscription.rb, line 205
def self.get_plans!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/usage"
  end
end
get_states!(name, access = {}) click to toggle source

Returns states.

@param [String] name Country name @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 145
def self.get_states!(name, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/countries/#{name}/states"
  end.execute!

  json[:states]
end
get_term!(term , access = {}) click to toggle source

Returns suggestions for a specified term

@param [String] term A term to return suggestions for @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Subscription>]

# File lib/groupdocs/subscription.rb, line 268
def self.get_term!(term , access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/terms/#{term}/suggestions"
  end.execute!

  json[:suggestions].map do |element|
    new(element)
  end
end
get_wizard!(access = {}) click to toggle source

Returns purchase wizard info from billing provider.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String] Url

# File lib/groupdocs/subscription.rb, line 221
def self.get_wizard!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/purchase/wizard"
  end

 json[:url]
end
invoices!(discount_code, plan_id, access = {}) click to toggle source

Simulate Assess For Pricing Plan.

@param [String] discount_code Discount code @param [String] plan_id Subscription Plan Id @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array] Invoices

# File lib/groupdocs/subscription.rb, line 56
def self.invoices!(discount_code, plan_id, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/plans/#{plan_id}/discounts/#{discount_code}"
  end.execute!

  json[:invoices]
end
list!(invalidate, access = {}) click to toggle source

Changed in realise 1.5.8

Returns all subscription plans for family.

@param [Boolean] invalidate @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Subscription>]

# File lib/groupdocs/subscription.rb, line 245
def self.list!(invalidate, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/system/{{client_id}}/plans/groupdocs'
  end
  api.add_params(invalidate: invalidate)
  json = api.execute!

  json[:metrics].map do |plan|
    new(plan)
  end
end
set_billing!(billing = {}, access = {}) click to toggle source

Set user billing address.

@param [Hash] billing Billing address info @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 164
def self.set_billing!(billing = {}, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/system/{{client_id}}/billingaddress"
    request[:request_body] = billing
  end.execute!

  json[:billing_address]
end
set_subscription!(plan, product_id, access = {}) click to toggle source

Set subscription plan user plan. @param [Hash] plan Subscription Plan Info @param [String] product_id @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 91
def self.set_subscription!(plan, product_id, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/system/{{client_id}}/subscriptions/#{product_id}"
    request[:request_body] = plan
  end.execute!
end
subscription!(access = {}) click to toggle source

Returns user subscription plan.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 74
def self.subscription!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/system/{{client_id}}/subscription'
  end.execute!
end
update_subscription!(plan, product_id, access = {}) click to toggle source

Set subscription plan user plan. @param [Hash] plan Update Subscription Plan Info @param [String] product_id @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::Subscription]

# File lib/groupdocs/subscription.rb, line 109
def self.update_subscription!(plan, product_id, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/system/{{client_id}}/subscriptions/#{product_id}"
    request[:request_body] = plan
  end.execute!
end