class Monza::VerificationResponse
Attributes
environment[R]
latest_receipt[R]
latest_receipt_info[R]
original_json_response[R]
receipt[R]
renewal_info[R]
Public Class Methods
new(attributes)
click to toggle source
# File lib/monza/verification_response.rb, line 16 def initialize(attributes) @original_json_response = attributes @status = attributes['status'] @environment = attributes['environment'] @receipt = Receipt.new(attributes['receipt']) @latest_receipt_info = [] latest_receipt_info = attributes['latest_receipt_info'] || attributes.dig('unified_receipt', 'latest_receipt_info') case latest_receipt_info when Array latest_receipt_info.each do |transaction_receipt_attributes| @latest_receipt_info << TransactionReceipt.new(transaction_receipt_attributes) end when Hash @latest_receipt_info << TransactionReceipt.new(latest_receipt_info) end @renewal_info = [] if attributes['pending_renewal_info'] attributes['pending_renewal_info'].each do |renewal_info_attributes| @renewal_info << RenewalInfo.new(renewal_info_attributes) end end @latest_receipt = attributes['latest_receipt'] || attributes.dig('unified_receipt', 'latest_receipt') end
Public Instance Methods
is_any_subscription_active?()
click to toggle source
Deprecated, only left here for backwards compatibility, please use is_subscription_active?
# File lib/monza/verification_response.rb, line 47 def is_any_subscription_active? is_subscription_active? end
is_subscription_active?()
click to toggle source
# File lib/monza/verification_response.rb, line 42 def is_subscription_active? latest_active_transaction_receipt.present? end
latest_active_transaction_receipt()
click to toggle source
# File lib/monza/verification_response.rb, line 51 def latest_active_transaction_receipt latest_active_sub = @latest_receipt_info .reject(&:cancellation_date) .select(&:expires_date_ms) .max_by(&:expires_date_ms) if latest_active_sub && latest_active_sub.expires_date_ms >= Time.zone.now return latest_active_sub else return nil end end
latest_expiry_date()
click to toggle source
# File lib/monza/verification_response.rb, line 64 def latest_expiry_date @latest_receipt_info.last.expires_date_ms if @latest_receipt_info.last end