Class: Genba::Client::DirectEntitlement::Redemptions

Inherits:
Object
  • Object
show all
Defined in:
lib/genba/client/direct_entitlements/redemptions.rb

Overview

DirectEntitlement Redemptions client

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Redemptions

Returns a new instance of Redemptions.



8
9
10
# File 'lib/genba/client/direct_entitlements/redemptions.rb', line 8

def initialize(client)
  @client = client
end

Instance Method Details

#get(redemption_id, headers: {}) ⇒ Object

Retrieve a direct entitlement redemption



21
22
23
# File 'lib/genba/client/direct_entitlements/redemptions.rb', line 21

def get(redemption_id, headers: {})
  @client.rest_get_with_token("/directentitlement/redemptions/#{redemption_id}", {}, headers)
end

#get_by_ctid(ctid, headers: {}) ⇒ Object

Retrieve a direct entitlement redemption by its Client Transaction ID



34
35
36
# File 'lib/genba/client/direct_entitlements/redemptions.rb', line 34

def get_by_ctid(ctid, headers: {})
  @client.rest_get_with_token("/directentitlement/redemptions/ctid/#{ctid}", {}, headers)
end

#perform(redemption_request, headers: {}, options: {}) ⇒ Object

Perform a direct entitlement redemption



13
14
15
16
17
18
# File 'lib/genba/client/direct_entitlements/redemptions.rb', line 13

def perform(redemption_request, headers: {}, options: {})
  errors = Genba::RedemptionRequest.new.call(redemption_request).messages
  raise errors.inspect unless errors.empty?

  @client.rest_post_with_token('/directentitlement/redemptions', redemption_request, headers, options)
end

#perform_action(redemption_id, action_request, headers: {}, options: {}) ⇒ Object

Perform an action on an redemption



26
27
28
29
30
31
# File 'lib/genba/client/direct_entitlements/redemptions.rb', line 26

def perform_action(redemption_id, action_request, headers: {}, options: {})
  errors = Genba::ActionRequest.new.call(action_request).messages
  raise errors.inspect unless errors.empty?

  @client.rest_post_with_token("/directentitlement/redemptions/#{redemption_id}", action_request, headers)
end