Class: Paddle::Subscription

Inherits:
Object
  • Object
show all
Defined in:
lib/paddle/models/subscription.rb

Class Method Summary collapse

Methods inherited from Object

#initialize, #to_ostruct, #update

Constructor Details

This class inherits a constructor from Paddle::Object

Class Method Details

.activate(id:) ⇒ Object



52
53
54
55
# File 'lib/paddle/models/subscription.rb', line 52

def activate(id:)
  response = Client.post_request("subscriptions/#{id}/activate")
  Subscription.new(response.body["data"])
end

.cancel(id:, **params) ⇒ Object



47
48
49
50
# File 'lib/paddle/models/subscription.rb', line 47

def cancel(id:, **params)
  response = Client.post_request("subscriptions/#{id}/cancel", body: params)
  Subscription.new(response.body["data"])
end

.charge(id:, items:, effective_from:, **params) ⇒ Object



30
31
32
33
34
# File 'lib/paddle/models/subscription.rb', line 30

def charge(id:, items:, effective_from:, **params)
  attrs = { items: items, effective_from: effective_from }
  response = Client.post_request("subscriptions/#{id}/charge", body: attrs.merge(params))
  Subscription.new(response.body["data"])
end

.get_transaction(id:) ⇒ Object



15
16
17
18
# File 'lib/paddle/models/subscription.rb', line 15

def get_transaction(id:)
  response = Client.get_request("subscriptions/#{id}/update-payment-method-transaction")
  Transaction.new(response.body["data"])
end

.list(**params) ⇒ Object



4
5
6
7
# File 'lib/paddle/models/subscription.rb', line 4

def list(**params)
  response = Client.get_request("subscriptions", params: params)
  Collection.from_response(response, type: Subscription)
end

.pause(id:, **params) ⇒ Object



36
37
38
39
# File 'lib/paddle/models/subscription.rb', line 36

def pause(id:, **params)
  response = Client.post_request("subscriptions/#{id}/pause", body: params)
  Subscription.new(response.body["data"])
end

.preview(id:, **params) ⇒ Object



20
21
22
23
# File 'lib/paddle/models/subscription.rb', line 20

def preview(id:, **params)
  response = Client.patch_request("subscriptions/#{id}/preview", body: params)
  Subscription.new(response.body["data"])
end

.resume(id:, effective_from:, **params) ⇒ Object



41
42
43
44
45
# File 'lib/paddle/models/subscription.rb', line 41

def resume(id:, effective_from:, **params)
  attrs = { effective_from: effective_from }
  response = Client.post_request("subscriptions/#{id}/resume", body: attrs.merge(params))
  Subscription.new(response.body["data"])
end

.retrieve(id:, extra: nil) ⇒ Object



9
10
11
12
13
# File 'lib/paddle/models/subscription.rb', line 9

def retrieve(id:, extra: nil)
  params = extra ? { include: extra } : {}
  response = Client.get_request("subscriptions/#{id}", params: params)
  Subscription.new(response.body["data"])
end

.update(id:, **params) ⇒ Object



25
26
27
28
# File 'lib/paddle/models/subscription.rb', line 25

def update(id:, **params)
  response = Client.patch_request("subscriptions/#{id}", body: params)
  Subscription.new(response.body["data"])
end