monza 1.3.2 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,