Class: Nombaone::Resources::Coupons
- Inherits:
-
BaseResource
- Object
- BaseResource
- Nombaone::Resources::Coupons
- Defined in:
- lib/nombaone/resources/coupons.rb,
sig/nombaone/resources.rbs
Overview
Coupons — reusable discount rules you apply via
customers.apply_discount / subscriptions.apply_discount. The coupon is
the rule; applying it creates a discount (one application of it).
Instance Method Summary collapse
-
#create(code:, duration:, amount_off_in_kobo: OMIT, percent_off: OMIT, duration_in_cycles: OMIT, redeem_by: OMIT, max_redemptions: OMIT, metadata: OMIT, request_options: {}) ⇒ NombaObject
Create a coupon.
-
#list(limit: OMIT, cursor: OMIT, request_options: {}) ⇒ Page<NombaObject>
List coupons, newest first.
-
#retrieve(id, request_options: {}) ⇒ NombaObject
Retrieve a coupon by id.
-
#update(id, redeem_by: OMIT, max_redemptions: OMIT, metadata: OMIT, request_options: {}) ⇒ NombaObject
Update a coupon's redeem-by, max redemptions, or metadata.
Methods inherited from BaseResource
#encode, #initialize, #request, #request_page
Constructor Details
This class inherits a constructor from Nombaone::Resources::BaseResource
Instance Method Details
#create(code:, duration:, amount_off_in_kobo: OMIT, percent_off: OMIT, duration_in_cycles: OMIT, redeem_by: OMIT, max_redemptions: OMIT, metadata: OMIT, request_options: {}) ⇒ NombaObject
Create a coupon. Set exactly one of amount_off_in_kobo / percent_off.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/nombaone/resources/coupons.rb', line 28 def create(code:, duration:, amount_off_in_kobo: OMIT, percent_off: OMIT, duration_in_cycles: OMIT, redeem_by: OMIT, max_redemptions: OMIT, metadata: OMIT, request_options: {}) request(:post, "/coupons", body: { code: code, duration: duration, amount_off_in_kobo: amount_off_in_kobo, percent_off: percent_off, duration_in_cycles: duration_in_cycles, redeem_by: redeem_by, max_redemptions: max_redemptions, metadata: , }, options: ) end |
#list(limit: OMIT, cursor: OMIT, request_options: {}) ⇒ Page<NombaObject>
List coupons, newest first.
79 80 81 |
# File 'lib/nombaone/resources/coupons.rb', line 79 def list(limit: OMIT, cursor: OMIT, request_options: {}) request_page("/coupons", query: { limit: limit, cursor: cursor }, options: ) end |
#retrieve(id, request_options: {}) ⇒ NombaObject
Retrieve a coupon by id.
51 52 53 |
# File 'lib/nombaone/resources/coupons.rb', line 51 def retrieve(id, request_options: {}) request(:get, "/coupons/#{encode(id)}", options: ) end |
#update(id, redeem_by: OMIT, max_redemptions: OMIT, metadata: OMIT, request_options: {}) ⇒ NombaObject
Update a coupon's redeem-by, max redemptions, or metadata.
63 64 65 66 67 68 69 70 71 |
# File 'lib/nombaone/resources/coupons.rb', line 63 def update(id, redeem_by: OMIT, max_redemptions: OMIT, metadata: OMIT, request_options: {}) request(:patch, "/coupons/#{encode(id)}", body: { redeem_by: redeem_by, max_redemptions: max_redemptions, metadata: , }, options: ) end |