Class: LemonSqueezy::SubscriptionItem

Inherits:
Object
  • Object
show all
Defined in:
lib/lemon_squeezy/models/subscription_item.rb

Class Method Summary collapse

Methods inherited from Object

#initialize, #to_ostruct

Constructor Details

This class inherits a constructor from LemonSqueezy::Object

Class Method Details

.current_usage(id:) ⇒ Object



16
17
18
19
# File 'lib/lemon_squeezy/models/subscription_item.rb', line 16

def current_usage(id:)
  response = Client.get_request("subscription-items/#{id}/current-usage")
  SubscriptionUsage.new(response.body["meta"]) if response.success?
end

.list(**params) ⇒ Object



6
7
8
9
# File 'lib/lemon_squeezy/models/subscription_item.rb', line 6

def list(**params)
  response = Client.get_request("subscription-items", params: {filter: params})
  Collection.from_response(response, type: SubscriptionItem)
end

.retrieve(id:) ⇒ Object



11
12
13
14
# File 'lib/lemon_squeezy/models/subscription_item.rb', line 11

def retrieve(id:)
  response = Client.get_request("subscription-items/#{id}")
  SubscriptionItem.new(response.body["data"]) if response.success?
end

.update(id:, quantity:) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/lemon_squeezy/models/subscription_item.rb', line 21

def update(id:, quantity:)
  body = {
    data: {
      type: "subscription-items",
      id: id.to_s,
      attributes: {
        quantity: quantity
      }
    }
  }
  response = Client.patch_request("subscription-items/#{id}", body: body.to_json)
  SubscriptionItem.new(response.body["data"]) if response.success?
end