monza 1.3.2 → 1.3.7

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: 2333e5c5c78dc623cd42815e38543cbd1828329f
4
- data.tar.gz: d826c632a53edefd2308f5f25ff56212d98a86ba
2
+ SHA256:
3
+ metadata.gz: 441bc579be3150547bfa2b26215ef90ba39ff5f4792d06008f2d5693fa078370
4
+ data.tar.gz: a42a4897914ee9628bcc59b898d80a598fc08c8e29bf0466044a763bf9019178
5
5
  SHA512:
6
- metadata.gz: d5c679b821e72871737c806c631e43b70c319e5d9c94c816bafb8bd13887a528a63e855a48d0c2632ce3ea8264fe7025fdb5430d6ea7a22a3fdbdeffe0a6e324
7
- data.tar.gz: ee0401f99b07f3b9081042caddc544161e59e45365d2fa5216f0e44e3daeb56845057bce6f44974f922c2c6e8580d428ee093650c7b63908305ad753550155b0
6
+ metadata.gz: 205b6eb1b331e502fcd8c17c3057bd2f45fe98e1ece2afe22ff70714dcbfb7716bb9f10e2eb6e384aa89d461056c1615f9b9a1e85b09a10c687fc85356707796
7
+ data.tar.gz: a246be0abc7030fb6d43f043d1808345a0f800457b293ec155a9de3941d64acffe3b7146cca53a0ca66f2c85d3dca37c5c1f6af7c537a16c213ac711ffca2873
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
 
@@ -37,26 +37,19 @@ module Monza
37
37
  end
38
38
 
39
39
  def is_subscription_active?
40
- if @latest_receipt_info.last
41
- @latest_receipt_info.last.expires_date_ms >= Time.zone.now
42
- else
43
- false
44
- end
40
+ latest_active_transaction_receipt.present?
45
41
  end
46
42
 
43
+ # Deprecated, only left here for backwards compatibility, please use is_subscription_active?
47
44
  def is_any_subscription_active?
48
- expires_dates_ms = @latest_receipt_info.map(&:expires_date_ms)
49
- latest_expires_date_ms = expires_dates_ms.max
50
-
51
- if latest_expires_date_ms
52
- latest_expires_date_ms >= Time.zone.now
53
- else
54
- false
55
- end
45
+ is_subscription_active?
56
46
  end
57
47
 
58
48
  def latest_active_transaction_receipt
59
- 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)
60
53
 
61
54
  if latest_active_sub && latest_active_sub.expires_date_ms >= Time.zone.now
62
55
  return latest_active_sub
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Monza
2
- VERSION = "1.3.2"
4
+ VERSION = '1.3.7'
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.2
4
+ version: 1.3.7
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-05-15 00:00:00.000000000 Z
11
+ date: 2020-05-31 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,