Class: LemonSqueezy::Discount

Inherits:
Object
  • Object
show all
Defined in:
lib/lemon_squeezy/models/discount.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

.create(store_id:, name:, code:, amount:, amount_type:, **params) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/lemon_squeezy/models/discount.rb', line 16

def create(store_id:, name:, code:, amount:, amount_type:, **params)
  body = {
    data: {
      type: "discounts",
      attributes: {
        name: name,
        code: code,
        amount: amount,
        amount_type: amount_type
      }.merge(params),
      relationships: {
        store: {
          data: {
            type: "stores",
            id: store_id.to_s
          }
        },
      }
    }
  }
  response = Client.post_request("discounts", body: body.to_json)
  Discount.new(response.body["data"]) if response.success?
end

.delete(id:) ⇒ Object



40
41
42
# File 'lib/lemon_squeezy/models/discount.rb', line 40

def delete(id:)
  Client.delete_request("discounts/#{id}")
end

.list(**params) ⇒ Object



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

def list(**params)
  response = Client.get_request("discounts", params: {filter: params})
  Collection.from_response(response, type: Discount)
end

.retrieve(id:) ⇒ Object



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

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