Class: AbacatePay::Clients::CouponClient
- Defined in:
- lib/abacate_pay/clients/coupon_client.rb
Overview
Client for discount coupons in the AbacatePay API.
Supports creating, listing, deleting and toggling coupons between active and inactive.
Constant Summary collapse
- URI =
"coupons"
Instance Method Summary collapse
- #create(data) ⇒ Resources::Coupons
- #delete(id) ⇒ Resources::Coupons
- #get(id) ⇒ Resources::Coupons
-
#initialize(client = nil) ⇒ CouponClient
constructor
A new instance of CouponClient.
- #list(**params) ⇒ Array<Resources::Coupons>
- #toggle(id) ⇒ Resources::Coupons
Constructor Details
#initialize(client = nil) ⇒ CouponClient
Returns a new instance of CouponClient.
12 13 14 |
# File 'lib/abacate_pay/clients/coupon_client.rb', line 12 def initialize(client = nil) super(URI, client) end |
Instance Method Details
#create(data) ⇒ Resources::Coupons
32 33 34 35 36 37 38 39 40 |
# File 'lib/abacate_pay/clients/coupon_client.rb', line 32 def create(data) response = request("POST", "create", json: { code: data.code, discount: data.discount, discountKind: data.discount_kind, maxRedeems: data.max_redeems }) Resources::Coupons.new(response) end |
#delete(id) ⇒ Resources::Coupons
44 45 46 47 |
# File 'lib/abacate_pay/clients/coupon_client.rb', line 44 def delete(id) response = request("POST", "delete", json: { id: id }) Resources::Coupons.new(response) end |
#get(id) ⇒ Resources::Coupons
25 26 27 28 |
# File 'lib/abacate_pay/clients/coupon_client.rb', line 25 def get(id) response = request("GET", "get", params: { id: id }) Resources::Coupons.new(response) end |
#list(**params) ⇒ Array<Resources::Coupons>
18 19 20 21 |
# File 'lib/abacate_pay/clients/coupon_client.rb', line 18 def list(**params) response = request("GET", "list", params: params.empty? ? nil : params) Array(response).map { |data| Resources::Coupons.new(data) } end |
#toggle(id) ⇒ Resources::Coupons
51 52 53 54 |
# File 'lib/abacate_pay/clients/coupon_client.rb', line 51 def toggle(id) response = request("POST", "toggle", json: { id: id }) Resources::Coupons.new(response) end |