class Voucherify::Service::Redemptions
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/voucherify/service/redemptions.rb, line 8 def initialize(client) @client = client end
Public Instance Methods
get_for_voucher(code)
click to toggle source
# File lib/voucherify/service/redemptions.rb, line 25 def get_for_voucher(code) @client.get("/vouchers/#{ERB::Util.url_encode(code)}/redemption") end
get_redemption(redemption_id)
click to toggle source
# File lib/voucherify/service/redemptions.rb, line 37 def get_redemption(redemption_id) @client.get("/redemptions/#{ERB::Util.url_encode(redemption_id)}") end
list(query = {})
click to toggle source
# File lib/voucherify/service/redemptions.rb, line 21 def list(query = {}) @client.get('/redemptions', query) end
redeem(code, params = {})
click to toggle source
# File lib/voucherify/service/redemptions.rb, line 12 def redeem(code, params = {}) if code.is_a? Hash endpoint = "/promotions/tiers/#{ERB::Util.url_encode(code[:id] || code['id'])}/redemption" else endpoint = "/vouchers/#{ERB::Util.url_encode(code)}/redemption" end @client.post(endpoint, params.to_json) end
rollback(redemption_id, payload = {})
click to toggle source
# File lib/voucherify/service/redemptions.rb, line 29 def rollback(redemption_id, payload = {}) reason = payload['reason'] || payload[:reason] params = reason ? {:reason => reason} : {} payload.delete 'reason' payload.delete :reason @client.post("/redemptions/#{ERB::Util.url_encode(redemption_id)}/rollback", payload.to_json, params) end