Class: GroupDocs::Subscription

Inherits:
Api::Entity show all
Defined in:
lib/groupdocs/subscription.rb

Defined Under Namespace

Classes: Limit

Constant Summary collapse

LIMITS =
{
  :annotations_limit       => 'AnnotationsLimit',
  :apicalls                => 'APICalls',
  :apiemails               => 'APIEmails',
  :assembly_limit          => 'AssemblyLimit',
  :branded                 => 'Branded',
  :comparison_limit        => 'ComparisonLimit',
  :conversion_limit        => 'ConversionLimit',
  :documents_limit         => 'DocumentsLimit',
  :document_history_limit  => 'DocumentHistoryLimit',
  :document_size_limit     => 'DocumentSizeLimit',
  :document_tokens_limit   => 'DocumentTokensLimit',
  :sharing_limit           => 'SharingLimit',
  :signature_limit         => 'SignatureLimit',
  :storage_space_limit     => 'StorageSpaceLimit',
  :users_limit             => 'UsersLimit',
}

Instance Attribute Summary collapse

Class Method Summary collapse

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Methods included from Api::Helpers::Accessor

#alias_accessor

Constructor Details

This class inherits a constructor from GroupDocs::Api::Entity

Instance Attribute Details

#CurrencyCodeObject



291
292
293
# File 'lib/groupdocs/subscription.rb', line 291

def CurrencyCode
  @CurrencyCode
end

#IdObject



283
284
285
# File 'lib/groupdocs/subscription.rb', line 283

def Id
  @Id
end

#NameObject



285
286
287
# File 'lib/groupdocs/subscription.rb', line 285

def Name
  @Name
end

#PriceObject



289
290
291
# File 'lib/groupdocs/subscription.rb', line 289

def Price
  @Price
end

#PricingPlanIdObject



287
288
289
# File 'lib/groupdocs/subscription.rb', line 287

def PricingPlanId
  @PricingPlanId
end

Class Method Details

.current!(access = {}) ⇒ GroupDocs::Subscription

Returns current subscription plan.

Examples:

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

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



36
37
38
39
40
41
42
43
44
# 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 = {}) ⇒ GroupDocs::Subscription

Returns countries.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



126
127
128
129
130
131
132
133
134
# 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 = {}) ⇒ Array

Get invoices.

Parameters:

  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :pageNumber (String)
  • :pageSize (String)

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)

    Invoices



186
187
188
189
190
191
192
193
194
195
196
# 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 = {}) ⇒ Object

Get subscription plans.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


205
206
207
208
209
210
211
# 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 = {}) ⇒ GroupDocs::Subscription

Returns states.

Parameters:

  • name (String)

    Country name

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



145
146
147
148
149
150
151
152
153
# 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 = {}) ⇒ Array<GroupDocs::Subscription>

Returns suggestions for a specified term

Parameters:

  • term (String)

    A term to return suggestions for

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



268
269
270
271
272
273
274
275
276
277
278
# 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 = {}) ⇒ String

Returns purchase wizard info from billing provider.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)

    Url



221
222
223
224
225
226
227
228
229
# 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 = {}) ⇒ Array

Simulate Assess For Pricing Plan.

Parameters:

  • discount_code (String)

    Discount code

  • plan_id (String)

    Subscription Plan Id

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)

    Invoices



56
57
58
59
60
61
62
63
64
# 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 = {}) ⇒ Array<GroupDocs::Subscription>

Changed in realise 1.5.8

Returns all subscription plans for family.

Parameters:

  • invalidate (Boolean)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



245
246
247
248
249
250
251
252
253
254
255
256
257
# 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 = {}) ⇒ GroupDocs::Subscription

Set user billing address.

Parameters:

  • billing (Hash) (defaults to: {})

    Billing address info

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



164
165
166
167
168
169
170
171
172
173
# 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 = {}) ⇒ GroupDocs::Subscription

Set subscription plan user plan.

Parameters:

  • plan (Hash)

    Subscription Plan Info

  • product_id (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



91
92
93
94
95
96
97
98
# 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 = {}) ⇒ GroupDocs::Subscription

Returns user subscription plan.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



74
75
76
77
78
79
80
# 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 = {}) ⇒ GroupDocs::Subscription

Set subscription plan user plan.

Parameters:

  • plan (Hash)

    Update Subscription Plan Info

  • product_id (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



109
110
111
112
113
114
115
116
# 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