Class: ItunesReceiptMock::Receipt
- Inherits:
-
Object
- Object
- ItunesReceiptMock::Receipt
- Includes:
- Mixins
- Defined in:
- lib/itunes_receipt_mock/receipt.rb
Overview
ItunesReceiptMock::Receipt
Constant Summary collapse
- STATUS_CODES =
[0, 21_000] + (21_002..21_008).to_a
- DEFAULTS =
{ status: 0, request_date: proc { Time.now }, environment: 'Production', bundle_id: nil, adam_id: 1, app_item_id: 1, application_version: 1, download_id: 1, version_external_identifier: 1, original_purchase_date: proc { Time.now }, original_application_version: 1 }
Instance Attribute Summary collapse
-
#adam_id ⇒ Object
Returns the value of attribute adam_id.
-
#app_item_id ⇒ Object
Returns the value of attribute app_item_id.
-
#application_version ⇒ Object
Returns the value of attribute application_version.
-
#bundle_id ⇒ Object
Returns the value of attribute bundle_id.
-
#download_id ⇒ Object
Returns the value of attribute download_id.
-
#environment ⇒ Object
Returns the value of attribute environment.
-
#original_application_version ⇒ Object
Returns the value of attribute original_application_version.
-
#original_purchase_date ⇒ Object
Returns the value of attribute original_purchase_date.
-
#request_date ⇒ Object
Returns the value of attribute request_date.
-
#status ⇒ Object
Returns the value of attribute status.
-
#transactions ⇒ Object
readonly
Returns the value of attribute transactions.
-
#version_external_identifier ⇒ Object
Returns the value of attribute version_external_identifier.
Instance Method Summary collapse
- #as_json ⇒ Object
-
#initialize(options = {}) ⇒ Receipt
constructor
A new instance of Receipt.
Constructor Details
#initialize(options = {}) ⇒ Receipt
Returns a new instance of Receipt.
30 31 32 33 34 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 30 def initialize( = {}) send_defaults(DEFAULTS, ) @transactions = TransactionProxy.new(self) fail MissingArgumentError, 'bundle_id is required' unless @bundle_id end |
Instance Attribute Details
#adam_id ⇒ Object
Returns the value of attribute adam_id.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def adam_id @adam_id end |
#app_item_id ⇒ Object
Returns the value of attribute app_item_id.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def app_item_id @app_item_id end |
#application_version ⇒ Object
Returns the value of attribute application_version.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def application_version @application_version end |
#bundle_id ⇒ Object
Returns the value of attribute bundle_id.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def bundle_id @bundle_id end |
#download_id ⇒ Object
Returns the value of attribute download_id.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def download_id @download_id end |
#environment ⇒ Object
Returns the value of attribute environment.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def environment @environment end |
#original_application_version ⇒ Object
Returns the value of attribute original_application_version.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def original_application_version @original_application_version end |
#original_purchase_date ⇒ Object
Returns the value of attribute original_purchase_date.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def original_purchase_date @original_purchase_date end |
#request_date ⇒ Object
Returns the value of attribute request_date.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def request_date @request_date end |
#status ⇒ Object
Returns the value of attribute status.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def status @status end |
#transactions ⇒ Object (readonly)
Returns the value of attribute transactions.
24 25 26 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 24 def transactions @transactions end |
#version_external_identifier ⇒ Object
Returns the value of attribute version_external_identifier.
25 26 27 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 25 def version_external_identifier @version_external_identifier end |
Instance Method Details
#as_json ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/itunes_receipt_mock/receipt.rb', line 36 def as_json result = { 'status' => status } if status == 0 result.merge!( 'status' => status, 'environment' => environment, 'receipt' => inner_json, 'latest_receipt_info' => transactions.latest_receipt_info ) result.merge!( 'latest_receipt' => Base64.strict_encode64(result.to_json) ) end result end |