Class: ItunesReceiptMock::TransactionProxy

Inherits:
Array
  • Object
show all
Defined in:
lib/itunes_receipt_mock/transaction_proxy.rb

Overview

ItunesReceiptMock::TransactionProxy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(receipt) ⇒ TransactionProxy

Returns a new instance of TransactionProxy.



9
10
11
12
13
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 9

def initialize(receipt)
  @receipt = receipt
  @transaction_id = 1_000_000_000
  @web_order_line_item_id = 1_000_000_000
end

Instance Attribute Details

#receiptObject

Returns the value of attribute receipt.



7
8
9
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 7

def receipt
  @receipt
end

#transaction_idObject

Returns the value of attribute transaction_id.



7
8
9
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 7

def transaction_id
  @transaction_id
end

#web_order_line_item_idObject

Returns the value of attribute web_order_line_item_id.



7
8
9
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 7

def web_order_line_item_id
  @web_order_line_item_id
end

Instance Method Details

#create(options) ⇒ Object



15
16
17
18
19
20
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 15

def create(options)
  klass = options[:expires_date].nil? ? Purchase : Subscription
  transaction = klass.new options.merge(receipt: @receipt)
  self << transaction
  transaction
end

#in_appObject



22
23
24
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 22

def in_app
  select(&:in_app?).map(&:as_json)
end

#latest_receipt_infoObject



26
27
28
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 26

def latest_receipt_info
  map(&:as_json)
end

#next_transaction_idObject



30
31
32
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 30

def next_transaction_id
  @transaction_id += 1
end

#next_web_order_line_item_idObject



34
35
36
# File 'lib/itunes_receipt_mock/transaction_proxy.rb', line 34

def next_web_order_line_item_id
  @web_order_line_item_id += 1
end