monza 1.3.3 → 1.3.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: '092fa8447ca35a561a29e18bb56c6999507662d0'
4
- data.tar.gz: 81d68643ac731a8154f39449111f02709111d9b6
2
+ SHA256:
3
+ metadata.gz: fac0efa28ee221749882e9916647707b5bc971b4e69d2130b060fe4edae76116
4
+ data.tar.gz: c868069c62c1d57b6e1342c7461913f098784ef78fa4a0ee49918154b8ce996e
5
5
  SHA512:
6
- metadata.gz: 0cb5dc44d7fccf34390d9b0c5f940359425154f717fc44aa66a3872d4f9287479bff072f63977561079857d37830597c7364b02ae1640624e6e81cd2f5f8393d
7
- data.tar.gz: 54484bf463710602e342faebbad0e04e5dee66f1ae24977b70dd78424da92711cb4f799c9baf3b728549058bc0a6b7ac28c30b4e9a83e3085864f76481a6514a
6
+ metadata.gz: eb65d134815099da534f82ca3209b5a5c829ba911b5b6c51e9fb8b0b9d8eea6fbb42229342a2071726fa99380848d9b7523c5abea1218fb5ba57ac69d39ebbf3
7
+ data.tar.gz: bfb32460c257fc67f167faaedeba680b9045f6fa9b4a67be10418739536ea181956c5005a08c7f923fa649949644ad9f3fedecb2f4fed983522c783f99c3bcdf
data/README.md CHANGED
@@ -41,11 +41,6 @@ You can also pass in `exclude_old_transactions` with value `true` as an option i
41
41
  # this checks if latest transaction receipt expiry_date is in today or the future
42
42
  response.is_subscription_active? # => true or false
43
43
 
44
- # Check if subscription is active
45
- # this checks if ANY transaction receipt expiry_date is in today or the future
46
- # this is helpful in case the most recent transaction was cancelled but the user still has a previous transaction or subscription that is active
47
- response.is_any_subscription_active? # => true or false
48
-
49
44
  # Returns the active subscription TransactionReceipt or nil
50
45
  response.latest_active_transaction_receipt # => TransactionReceipt instance
51
46
 
@@ -188,9 +183,6 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
188
183
 
189
184
  Bug reports and pull requests are welcome on GitHub at https://github.com/gabrielgarza/monza. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
190
185
 
191
- TODO:
192
- - Need help with testing using rspec
193
-
194
186
 
195
187
  ## License
196
188
 
@@ -9,6 +9,9 @@ module Monza
9
9
  attr_reader :original_transaction_id
10
10
  attr_reader :is_in_billing_retry_period
11
11
  attr_reader :will_renew
12
+ attr_reader :grace_period_expires_date
13
+ attr_reader :grace_period_expires_date_ms
14
+ attr_reader :grace_period_expires_date_pst
12
15
 
13
16
  def initialize(attributes)
14
17
 
@@ -16,6 +19,15 @@ module Monza
16
19
  @auto_renew_product_id = attributes['auto_renew_product_id']
17
20
  @original_transaction_id = attributes['original_transaction_id']
18
21
 
22
+ if attributes['grace_period_expires_date']
23
+ @grace_period_expires_date = DateTime.parse(attributes['grace_period_expires_date'])
24
+ end
25
+ if attributes['grace_period_expires_date_ms']
26
+ @grace_period_expires_date_ms = Time.zone.at(attributes['grace_period_expires_date_ms'].to_i / 1000)
27
+ end
28
+ if attributes['grace_period_expires_date_pst']
29
+ @grace_period_expires_date_pst = DateTime.parse(attributes['grace_period_expires_date_pst'].gsub("America/Los_Angeles","PST"))
30
+ end
19
31
  if attributes['expiration_intent']
20
32
  @expiration_intent = attributes['expiration_intent']
21
33
  end
@@ -25,7 +37,7 @@ module Monza
25
37
  end
26
38
 
27
39
  if attributes['auto_renew_status']
28
- @will_renew = attributes['auto_renew_status'].to_bool
40
+ @will_renew = attributes['auto_renew_status'].to_bool
29
41
  end
30
42
  end # end initialize
31
43
 
@@ -23,6 +23,7 @@ module Monza
23
23
  attr_reader :expires_date_pst
24
24
  attr_reader :is_trial_period
25
25
  attr_reader :cancellation_date
26
+ attr_reader :is_in_intro_offer_period
26
27
 
27
28
  def initialize(attributes)
28
29
  @quantity = attributes['quantity'].to_i
@@ -57,6 +58,9 @@ module Monza
57
58
  if attributes['is_trial_period']
58
59
  @is_trial_period = attributes['is_trial_period'].to_bool
59
60
  end
61
+ if attributes['is_in_intro_offer_period']
62
+ @is_in_intro_offer_period = attributes['is_in_intro_offer_period'].to_bool
63
+ end
60
64
  if attributes['cancellation_date']
61
65
  @cancellation_date = DateTime.parse(attributes['cancellation_date'])
62
66
  end
@@ -37,30 +37,19 @@ module Monza
37
37
  end
38
38
 
39
39
  def is_subscription_active?
40
- if @latest_receipt_info.last
41
- if @latest_receipt_info.last.cancellation_date
42
- false
43
- else
44
- @latest_receipt_info.last.expires_date_ms >= Time.zone.now
45
- end
46
- else
47
- false
48
- end
40
+ latest_active_transaction_receipt.present?
49
41
  end
50
42
 
43
+ # Deprecated, only left here for backwards compatibility, please use is_subscription_active?
51
44
  def is_any_subscription_active?
52
- expires_dates_ms = @latest_receipt_info.reject(&:cancellation_date).map(&:expires_date_ms)
53
- latest_expires_date_ms = expires_dates_ms.max
54
-
55
- if latest_expires_date_ms
56
- latest_expires_date_ms >= Time.zone.now
57
- else
58
- false
59
- end
45
+ is_subscription_active?
60
46
  end
61
47
 
62
48
  def latest_active_transaction_receipt
63
- latest_active_sub = @latest_receipt_info.sort_by(&:expires_date_ms).last
49
+ latest_active_sub = @latest_receipt_info
50
+ .reject(&:cancellation_date)
51
+ .select(&:expires_date_ms)
52
+ .max_by(&:expires_date_ms)
64
53
 
65
54
  if latest_active_sub && latest_active_sub.expires_date_ms >= Time.zone.now
66
55
  return latest_active_sub
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Monza
2
- VERSION = "1.3.3"
4
+ VERSION = '1.3.8'
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monza
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Garza
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-26 00:00:00.000000000 Z
11
+ date: 2020-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -128,8 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  requirements: []
131
- rubyforge_project:
132
- rubygems_version: 2.5.2.3
131
+ rubygems_version: 3.0.3
133
132
  signing_key:
134
133
  specification_version: 4
135
134
  summary: Validate iTunes In-App purchase receipts, including auto-renewable subscriptions,