Class: ItunesReceiptMock::Purchase
- Inherits:
-
Object
- Object
- ItunesReceiptMock::Purchase
- Includes:
- Mixins
- Defined in:
- lib/itunes_receipt_mock/purchase.rb
Overview
ItunesReceiptMock::Purchase
Direct Known Subclasses
Constant Summary collapse
- PURCHASE_DEFAULTS =
{ receipt: nil, product_id: nil, quantity: 1, transaction_id: proc { receipt.transactions.next_transaction_id }, original_transaction_id: proc { transaction_id }, purchase_date: proc { Time.now }, original_purchase_date: proc { purchase_date }, is_trial_period: false, in_app: true }
Instance Attribute Summary collapse
-
#in_app ⇒ Object
(also: #in_app?)
Returns the value of attribute in_app.
-
#is_trial_period ⇒ Object
Returns the value of attribute is_trial_period.
-
#original_purchase_date ⇒ Object
Returns the value of attribute original_purchase_date.
-
#original_transaction_id ⇒ Object
Returns the value of attribute original_transaction_id.
-
#product_id ⇒ Object
Returns the value of attribute product_id.
-
#purchase_date ⇒ Object
Returns the value of attribute purchase_date.
-
#quantity ⇒ Object
Returns the value of attribute quantity.
-
#receipt ⇒ Object
Returns the value of attribute receipt.
-
#transaction_id ⇒ Object
Returns the value of attribute transaction_id.
Instance Method Summary collapse
- #as_json ⇒ Object
-
#initialize(options = {}) ⇒ Purchase
constructor
A new instance of Purchase.
Constructor Details
#initialize(options = {}) ⇒ Purchase
Returns a new instance of Purchase.
28 29 30 31 32 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 28 def initialize( = {}) send_defaults(PURCHASE_DEFAULTS, ) fail MissingArgumentError, 'product_id is required' unless @product_id fail MissingArgumentError, 'receipt is required' unless @receipt end |
Instance Attribute Details
#in_app ⇒ Object Also known as: in_app?
Returns the value of attribute in_app.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def in_app @in_app end |
#is_trial_period ⇒ Object
Returns the value of attribute is_trial_period.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def is_trial_period @is_trial_period end |
#original_purchase_date ⇒ Object
Returns the value of attribute original_purchase_date.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def original_purchase_date @original_purchase_date end |
#original_transaction_id ⇒ Object
Returns the value of attribute original_transaction_id.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def original_transaction_id @original_transaction_id end |
#product_id ⇒ Object
Returns the value of attribute product_id.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def product_id @product_id end |
#purchase_date ⇒ Object
Returns the value of attribute purchase_date.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def purchase_date @purchase_date end |
#quantity ⇒ Object
Returns the value of attribute quantity.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def quantity @quantity end |
#receipt ⇒ Object
Returns the value of attribute receipt.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def receipt @receipt end |
#transaction_id ⇒ Object
Returns the value of attribute transaction_id.
21 22 23 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 21 def transaction_id @transaction_id end |
Instance Method Details
#as_json ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/itunes_receipt_mock/purchase.rb', line 34 def as_json { 'quantity' => quantity.to_s, 'product_id' => product_id, 'transaction_id' => transaction_id.to_s, 'original_transaction_id' => original_transaction_id.to_s, 'is_trial_period' => is_trial_period.to_s } .merge(date_attrs('purchase', purchase_date)) .merge(date_attrs('original_purchase', original_purchase_date)) end |