Class: ItunesReceiptValidator::Remote

Inherits:
Object
  • Object
show all
Defined in:
lib/itunes_receipt_validator/remote.rb

Overview

ItunesReceiptValidator::Receipt

Constant Summary collapse

PRODUCTION_ENDPOINT =
'https://buy.itunes.apple.com/verifyReceipt'.freeze
SANDBOX_ENDPOINT =
'https://sandbox.itunes.apple.com/verifyReceipt'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(receipt) {|_self| ... } ⇒ Remote

Returns a new instance of Remote.

Yields:

  • (_self)

Yield Parameters:



17
18
19
20
21
22
23
# File 'lib/itunes_receipt_validator/remote.rb', line 17

def initialize(receipt)
  @receipt = receipt
  @request_method = lambda do |url, headers, body|
    default_request_method(url, headers, body)
  end
  yield self
end

Instance Attribute Details

#receiptObject (readonly)

Returns the value of attribute receipt.



14
15
16
# File 'lib/itunes_receipt_validator/remote.rb', line 14

def receipt
  @receipt
end

#request_methodObject

Returns the value of attribute request_method.



15
16
17
# File 'lib/itunes_receipt_validator/remote.rb', line 15

def request_method
  @request_method
end

#sandboxObject

Returns the value of attribute sandbox.



15
16
17
# File 'lib/itunes_receipt_validator/remote.rb', line 15

def sandbox
  @sandbox
end

#shared_secretObject

Returns the value of attribute shared_secret.



15
16
17
# File 'lib/itunes_receipt_validator/remote.rb', line 15

def shared_secret
  @shared_secret
end

Instance Method Details

#expired?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/itunes_receipt_validator/remote.rb', line 33

def expired?
  status == 21_006
end

#jsonObject



37
38
39
# File 'lib/itunes_receipt_validator/remote.rb', line 37

def json
  @json ||= JSON.parse(response.body, symbolize_names: true)
end

#statusObject



25
26
27
# File 'lib/itunes_receipt_validator/remote.rb', line 25

def status
  json[:status].to_i
end

#valid?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/itunes_receipt_validator/remote.rb', line 29

def valid?
  status == 0
end