Class: ItunesReceiptValidator::Receipt
- Inherits:
-
Object
- Object
- ItunesReceiptValidator::Receipt
- Defined in:
- lib/itunes_receipt_validator/receipt.rb
Overview
ItunesReceiptValidator::Receipt
Instance Attribute Summary collapse
-
#receipt ⇒ Object
readonly
Returns the value of attribute receipt.
-
#request_method ⇒ Object
Returns the value of attribute request_method.
-
#shared_secret ⇒ Object
Returns the value of attribute shared_secret.
Instance Method Summary collapse
- #bundle_id ⇒ Object
- #environment ⇒ Object
-
#initialize(receipt, options = {}) {|_self| ... } ⇒ Receipt
constructor
A new instance of Receipt.
- #latest_receipt ⇒ Object
- #latest_transactions ⇒ Object
- #local ⇒ Object
- #production? ⇒ Boolean
- #remote ⇒ Object
- #sandbox? ⇒ Boolean
- #style ⇒ Object
- #transactions ⇒ Object
Constructor Details
#initialize(receipt, options = {}) {|_self| ... } ⇒ Receipt
Returns a new instance of Receipt.
10 11 12 13 14 15 16 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 10 def initialize(receipt, = {}) @receipt = receipt @shared_secret = .fetch(:shared_secret, nil) @request_method = .fetch(:request_method, nil) local yield self if block_given? end |
Instance Attribute Details
#receipt ⇒ Object (readonly)
Returns the value of attribute receipt.
7 8 9 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 7 def receipt @receipt end |
#request_method ⇒ Object
Returns the value of attribute request_method.
8 9 10 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 8 def request_method @request_method end |
#shared_secret ⇒ Object
Returns the value of attribute shared_secret.
8 9 10 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 8 def shared_secret @shared_secret end |
Instance Method Details
#bundle_id ⇒ Object
18 19 20 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 18 def bundle_id @bundle_id = local.receipt.fetch(style == :unified ? :bundle_id : :bid) end |
#environment ⇒ Object
44 45 46 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 44 def environment @environment ||= local.environment end |
#latest_receipt ⇒ Object
34 35 36 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 34 def latest_receipt @latest_receipt = remote.json.fetch :latest_receipt end |
#latest_transactions ⇒ Object
28 29 30 31 32 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 28 def latest_transactions @latest_transactions = TransactionsProxy.import( remote_transactions_source, self ) end |
#local ⇒ Object
38 39 40 41 42 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 38 def local @local ||= ItunesReceiptDecoder.new receipt, expand_timestamps: true rescue ItunesReceiptDecoder::DecodingError => e raise LocalDecodingError, e. end |
#production? ⇒ Boolean
48 49 50 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 48 def production? environment == :production end |
#remote ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 60 def remote return @remote if @remote instance = Remote.new(receipt) do |remote| remote.shared_secret = shared_secret remote.sandbox = sandbox? remote.request_method = request_method if request_method end if instance.status == 21_007 @environment = :sandbox remote elsif instance.status == 21_008 @environment = :production remote else @remote = instance end end |
#sandbox? ⇒ Boolean
52 53 54 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 52 def sandbox? !production? end |
#style ⇒ Object
56 57 58 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 56 def style local.style end |
#transactions ⇒ Object
22 23 24 25 26 |
# File 'lib/itunes_receipt_validator/receipt.rb', line 22 def transactions @transactions = TransactionsProxy.import( local_transactions_source, self ) end |