Class: IAPVerifier::ResponseData

Inherits:
Object
  • Object
show all
Defined in:
lib/iap_verifier/response_data.rb

Constant Summary collapse

SUCCESS_RESPONSE_CODE =
0.freeze
SANDBOX_RECEIPT_CODE =
21007.freeze

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ ResponseData

Returns a new instance of ResponseData.



8
9
10
11
12
13
14
# File 'lib/iap_verifier/response_data.rb', line 8

def initialize(json)
  @response_data = JSON.parse(json)

  raise Error::MalformedResponseData.new(json) unless @response_data.is_a?(Hash)
rescue JSON::ParserError
  raise Error::MalformedResponseData.new(json)
end

Instance Method Details

#receiptObject



24
25
26
27
28
29
30
# File 'lib/iap_verifier/response_data.rb', line 24

def receipt
  if valid?
    Receipt.new(@response_data)
  else
    raise Error::InvalidReceiptData.new(status_code)
  end
end

#sandbox?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/iap_verifier/response_data.rb', line 20

def sandbox?
  status_code == SANDBOX_RECEIPT_CODE
end

#valid?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/iap_verifier/response_data.rb', line 16

def valid?
  status_code == SUCCESS_RESPONSE_CODE
end