Method: Monza::Receipt#initialize

Defined in:
lib/monza/receipt.rb

#initialize(attributes) ⇒ Receipt

Returns a new instance of Receipt.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/monza/receipt.rb', line 35

def initialize(attributes)
  @receipt_type = attributes['receipt_type']
  @adam_id = attributes['adam_id']
  @bundle_id = attributes['bundle_id']
  @application_version = attributes['application_version']
  @download_id = attributes['download_id']

  @receipt_creation_date = DateTime.parse(attributes['receipt_creation_date']) rescue nil
  @receipt_creation_date_ms = Time.zone.at(attributes['receipt_creation_date_ms'].to_i / 1000) rescue nil
  @receipt_creation_date_pst = DateTime.parse(attributes['receipt_creation_date_pst'].gsub("America/Los_Angeles","PST")) rescue nil
  @request_date = DateTime.parse(attributes['request_date']) rescue nil
  @request_date_ms = Time.zone.at(attributes['request_date_ms'].to_i / 1000) rescue nil
  @request_date_pst = DateTime.parse(attributes['request_date_pst'].gsub("America/Los_Angeles","PST")) rescue nil

  @original_purchase_date = DateTime.parse(attributes['original_purchase_date'])
  @original_purchase_date_ms = Time.zone.at(attributes['original_purchase_date_ms'].to_i / 1000)
  @original_purchase_date_pst = DateTime.parse(attributes['original_purchase_date_pst'].gsub("America/Los_Angeles","PST"))
  @original_application_version = attributes['original_application_version']

  if attributes['version_external_identifier']
    @version_external_identifier = attributes['version_external_identifier']
  end
  if attributes['app_item_id']
    @app_item_id = attributes['app_item_id']
  end
  if attributes['expiration_date']
    @expires_at = Time.zone.at(attributes['expiration_date'].to_i / 1000)
  end

  @in_app = []
  if attributes['in_app']
    attributes['in_app'].each do |transaction_receipt_attributes|
      @in_app << TransactionReceipt.new(transaction_receipt_attributes)
    end
  end
end