app_manager 1.6.3 → 1.7.0

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
2
  SHA256:
3
- metadata.gz: c143606bbac6f53820f8522a8a735c33a1d241bc6c2bc919d75bb8319d44aebf
4
- data.tar.gz: 770f14a16a4c912389bfd71106a517af68e724645cc68bd6c9153d61b0d34dee
3
+ metadata.gz: 939c279b78c14a7e781d74177e6df92a287a2e463d6c3af39346760e6891115b
4
+ data.tar.gz: 9a3abefe3f42d4c40b34d597a0b850d128afbff33094cbe8ddf06b66dd473fb2
5
5
  SHA512:
6
- metadata.gz: 40a9cdb0477e5c3b3aa51cc8d5f03be15deab919199f101b237cb0063db42e2d160e72a52aa111b56f5736c1fcadc4a16cd557a45bed0c2fbf914e285eb1763d
7
- data.tar.gz: efdc457510fb1372aa92915d8109f0fd0963dc49d7b18564a725527b932efa3e295d47249b2d75340d00ee517cd47cfbfa30c32b1a7177c5de12130d2396b10e
6
+ metadata.gz: 769614783e6d231a4b75303003b8da1143787d10cae09f093647bfeb6b246c28d4e604255a23530ad6332cad3d6796cec7fd99a80a3b5c46c8d74660f8dd17ee
7
+ data.tar.gz: da7329819695c265587a36c8c34ef922176e5fd40a5109acd88849695bbbf1143eff43d2d699f08c044d90eaf58bb3f45ea5f5ec09fbbc9c5d34bcb2c980b6b9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_manager (1.6.3)
4
+ app_manager (1.7.0)
5
5
  activerecord-import (~> 1.4)
6
6
  httparty
7
7
  kaminari (>= 0.16.3)
@@ -10,93 +10,111 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- actioncable (7.0.5)
14
- actionpack (= 7.0.5)
15
- activesupport (= 7.0.5)
13
+ actioncable (7.1.2)
14
+ actionpack (= 7.1.2)
15
+ activesupport (= 7.1.2)
16
16
  nio4r (~> 2.0)
17
17
  websocket-driver (>= 0.6.1)
18
- actionmailbox (7.0.5)
19
- actionpack (= 7.0.5)
20
- activejob (= 7.0.5)
21
- activerecord (= 7.0.5)
22
- activestorage (= 7.0.5)
23
- activesupport (= 7.0.5)
18
+ zeitwerk (~> 2.6)
19
+ actionmailbox (7.1.2)
20
+ actionpack (= 7.1.2)
21
+ activejob (= 7.1.2)
22
+ activerecord (= 7.1.2)
23
+ activestorage (= 7.1.2)
24
+ activesupport (= 7.1.2)
24
25
  mail (>= 2.7.1)
25
26
  net-imap
26
27
  net-pop
27
28
  net-smtp
28
- actionmailer (7.0.5)
29
- actionpack (= 7.0.5)
30
- actionview (= 7.0.5)
31
- activejob (= 7.0.5)
32
- activesupport (= 7.0.5)
29
+ actionmailer (7.1.2)
30
+ actionpack (= 7.1.2)
31
+ actionview (= 7.1.2)
32
+ activejob (= 7.1.2)
33
+ activesupport (= 7.1.2)
33
34
  mail (~> 2.5, >= 2.5.4)
34
35
  net-imap
35
36
  net-pop
36
37
  net-smtp
37
- rails-dom-testing (~> 2.0)
38
- actionpack (7.0.5)
39
- actionview (= 7.0.5)
40
- activesupport (= 7.0.5)
41
- rack (~> 2.0, >= 2.2.4)
38
+ rails-dom-testing (~> 2.2)
39
+ actionpack (7.1.2)
40
+ actionview (= 7.1.2)
41
+ activesupport (= 7.1.2)
42
+ nokogiri (>= 1.8.5)
43
+ racc
44
+ rack (>= 2.2.4)
45
+ rack-session (>= 1.0.1)
42
46
  rack-test (>= 0.6.3)
43
- rails-dom-testing (~> 2.0)
44
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
45
- actiontext (7.0.5)
46
- actionpack (= 7.0.5)
47
- activerecord (= 7.0.5)
48
- activestorage (= 7.0.5)
49
- activesupport (= 7.0.5)
47
+ rails-dom-testing (~> 2.2)
48
+ rails-html-sanitizer (~> 1.6)
49
+ actiontext (7.1.2)
50
+ actionpack (= 7.1.2)
51
+ activerecord (= 7.1.2)
52
+ activestorage (= 7.1.2)
53
+ activesupport (= 7.1.2)
50
54
  globalid (>= 0.6.0)
51
55
  nokogiri (>= 1.8.5)
52
- actionview (7.0.5)
53
- activesupport (= 7.0.5)
56
+ actionview (7.1.2)
57
+ activesupport (= 7.1.2)
54
58
  builder (~> 3.1)
55
- erubi (~> 1.4)
56
- rails-dom-testing (~> 2.0)
57
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
58
- activejob (7.0.5)
59
- activesupport (= 7.0.5)
59
+ erubi (~> 1.11)
60
+ rails-dom-testing (~> 2.2)
61
+ rails-html-sanitizer (~> 1.6)
62
+ activejob (7.1.2)
63
+ activesupport (= 7.1.2)
60
64
  globalid (>= 0.3.6)
61
- activemodel (7.0.5)
62
- activesupport (= 7.0.5)
63
- activerecord (7.0.5)
64
- activemodel (= 7.0.5)
65
- activesupport (= 7.0.5)
66
- activerecord-import (1.4.1)
65
+ activemodel (7.1.2)
66
+ activesupport (= 7.1.2)
67
+ activerecord (7.1.2)
68
+ activemodel (= 7.1.2)
69
+ activesupport (= 7.1.2)
70
+ timeout (>= 0.4.0)
71
+ activerecord-import (1.5.1)
67
72
  activerecord (>= 4.2)
68
- activestorage (7.0.5)
69
- actionpack (= 7.0.5)
70
- activejob (= 7.0.5)
71
- activerecord (= 7.0.5)
72
- activesupport (= 7.0.5)
73
+ activestorage (7.1.2)
74
+ actionpack (= 7.1.2)
75
+ activejob (= 7.1.2)
76
+ activerecord (= 7.1.2)
77
+ activesupport (= 7.1.2)
73
78
  marcel (~> 1.0)
74
- mini_mime (>= 1.1.0)
75
- activesupport (7.0.5)
79
+ activesupport (7.1.2)
80
+ base64
81
+ bigdecimal
76
82
  concurrent-ruby (~> 1.0, >= 1.0.2)
83
+ connection_pool (>= 2.2.5)
84
+ drb
77
85
  i18n (>= 1.6, < 2)
78
86
  minitest (>= 5.1)
87
+ mutex_m
79
88
  tzinfo (~> 2.0)
80
89
  addressable (2.8.0)
81
90
  public_suffix (>= 2.0.2, < 5.0)
91
+ base64 (0.2.0)
92
+ bigdecimal (3.1.5)
82
93
  builder (3.2.4)
83
94
  coderay (1.1.3)
84
95
  concurrent-ruby (1.2.2)
96
+ connection_pool (2.4.1)
85
97
  crack (0.4.5)
86
98
  rexml
87
99
  crass (1.0.6)
88
- date (3.3.3)
100
+ date (3.3.4)
89
101
  diff-lcs (1.5.0)
90
102
  dotenv (2.1.2)
103
+ drb (2.2.0)
104
+ ruby2_keywords
91
105
  erubi (1.12.0)
92
- globalid (1.1.0)
93
- activesupport (>= 5.0)
106
+ globalid (1.2.1)
107
+ activesupport (>= 6.1)
94
108
  hashdiff (1.0.1)
95
109
  httparty (0.21.0)
96
110
  mini_mime (>= 1.0.0)
97
111
  multi_xml (>= 0.5.2)
98
112
  i18n (1.14.1)
99
113
  concurrent-ruby (~> 1.0)
114
+ io-console (0.7.1)
115
+ irb (1.11.0)
116
+ rdoc
117
+ reline (>= 0.3.8)
100
118
  kaminari (1.2.2)
101
119
  activesupport (>= 4.1.0)
102
120
  kaminari-actionview (= 1.2.2)
@@ -109,7 +127,7 @@ GEM
109
127
  activerecord
110
128
  kaminari-core (= 1.2.2)
111
129
  kaminari-core (1.2.2)
112
- loofah (2.21.3)
130
+ loofah (2.22.0)
113
131
  crass (~> 1.0.2)
114
132
  nokogiri (>= 1.12.0)
115
133
  mail (2.8.1)
@@ -119,59 +137,73 @@ GEM
119
137
  net-smtp
120
138
  marcel (1.0.2)
121
139
  method_source (1.0.0)
122
- mini_mime (1.1.2)
123
- mini_portile2 (2.8.2)
124
- minitest (5.18.0)
140
+ mini_mime (1.1.5)
141
+ mini_portile2 (2.8.5)
142
+ minitest (5.20.0)
125
143
  multi_xml (0.6.0)
126
- net-imap (0.3.4)
144
+ mutex_m (0.2.0)
145
+ net-imap (0.3.7)
127
146
  date
128
147
  net-protocol
129
148
  net-pop (0.1.2)
130
149
  net-protocol
131
- net-protocol (0.2.1)
150
+ net-protocol (0.2.2)
132
151
  timeout
133
- net-smtp (0.3.3)
152
+ net-smtp (0.4.0.1)
134
153
  net-protocol
135
- nio4r (2.5.9)
136
- nokogiri (1.15.2)
154
+ nio4r (2.7.0)
155
+ nokogiri (1.15.5)
137
156
  mini_portile2 (~> 2.8.2)
138
157
  racc (~> 1.4)
139
158
  pry (0.14.1)
140
159
  coderay (~> 1.1)
141
160
  method_source (~> 1.0)
161
+ psych (5.1.2)
162
+ stringio
142
163
  public_suffix (4.0.6)
143
- racc (1.7.0)
144
- rack (2.2.7)
164
+ racc (1.7.3)
165
+ rack (3.0.8)
166
+ rack-session (2.0.0)
167
+ rack (>= 3.0.0)
145
168
  rack-test (2.1.0)
146
169
  rack (>= 1.3)
147
- rails (7.0.5)
148
- actioncable (= 7.0.5)
149
- actionmailbox (= 7.0.5)
150
- actionmailer (= 7.0.5)
151
- actionpack (= 7.0.5)
152
- actiontext (= 7.0.5)
153
- actionview (= 7.0.5)
154
- activejob (= 7.0.5)
155
- activemodel (= 7.0.5)
156
- activerecord (= 7.0.5)
157
- activestorage (= 7.0.5)
158
- activesupport (= 7.0.5)
170
+ rackup (2.1.0)
171
+ rack (>= 3)
172
+ webrick (~> 1.8)
173
+ rails (7.1.2)
174
+ actioncable (= 7.1.2)
175
+ actionmailbox (= 7.1.2)
176
+ actionmailer (= 7.1.2)
177
+ actionpack (= 7.1.2)
178
+ actiontext (= 7.1.2)
179
+ actionview (= 7.1.2)
180
+ activejob (= 7.1.2)
181
+ activemodel (= 7.1.2)
182
+ activerecord (= 7.1.2)
183
+ activestorage (= 7.1.2)
184
+ activesupport (= 7.1.2)
159
185
  bundler (>= 1.15.0)
160
- railties (= 7.0.5)
161
- rails-dom-testing (2.0.3)
162
- activesupport (>= 4.2.0)
186
+ railties (= 7.1.2)
187
+ rails-dom-testing (2.2.0)
188
+ activesupport (>= 5.0.0)
189
+ minitest
163
190
  nokogiri (>= 1.6)
164
191
  rails-html-sanitizer (1.6.0)
165
192
  loofah (~> 2.21)
166
193
  nokogiri (~> 1.14)
167
- railties (7.0.5)
168
- actionpack (= 7.0.5)
169
- activesupport (= 7.0.5)
170
- method_source
194
+ railties (7.1.2)
195
+ actionpack (= 7.1.2)
196
+ activesupport (= 7.1.2)
197
+ irb
198
+ rackup (>= 1.0.0)
171
199
  rake (>= 12.2)
172
- thor (~> 1.0)
173
- zeitwerk (~> 2.5)
200
+ thor (~> 1.0, >= 1.2.2)
201
+ zeitwerk (~> 2.6)
174
202
  rake (13.0.6)
203
+ rdoc (6.6.2)
204
+ psych (>= 4.0.0)
205
+ reline (0.4.2)
206
+ io-console (~> 0.5)
175
207
  rexml (3.2.5)
176
208
  rspec (3.11.0)
177
209
  rspec-core (~> 3.11.0)
@@ -188,18 +220,21 @@ GEM
188
220
  diff-lcs (>= 1.2.0, < 2.0)
189
221
  rspec-support (~> 3.11.0)
190
222
  rspec-support (3.11.0)
191
- thor (1.2.2)
192
- timeout (0.3.2)
223
+ ruby2_keywords (0.0.5)
224
+ stringio (3.1.0)
225
+ thor (1.3.0)
226
+ timeout (0.4.1)
193
227
  tzinfo (2.0.6)
194
228
  concurrent-ruby (~> 1.0)
195
229
  webmock (3.14.0)
196
230
  addressable (>= 2.8.0)
197
231
  crack (>= 0.3.2)
198
232
  hashdiff (>= 0.4.0, < 2.0.0)
199
- websocket-driver (0.7.5)
233
+ webrick (1.8.1)
234
+ websocket-driver (0.7.6)
200
235
  websocket-extensions (>= 0.1.0)
201
236
  websocket-extensions (0.1.5)
202
- zeitwerk (2.6.8)
237
+ zeitwerk (2.6.12)
203
238
 
204
239
  PLATFORMS
205
240
  ruby
@@ -61,14 +61,14 @@ module AppManager
61
61
  return_url = "#{app_url}#{plan_callback_path}?#{Rack::Utils.build_query(request_data)}"
62
62
  gq_obj = AppManager::GraphqlHelper.new(@shop.shopify_domain, @shop.shopify_token)
63
63
  data = gq_obj.recurring_charge_api_call(plan_data, return_url, @shop)
64
- if !data["errors"].present? && (data["data"].present? && data["data"]["appSubscriptionCreate"].present? && (!data["data"]["appSubscriptionCreate"]["userErrors"].any? && data["data"]["appSubscriptionCreate"]["confirmationUrl"]))
64
+ if data.present? && !data["errors"].present? && (data["data"].present? && data["data"]["appSubscriptionCreate"].present? && (!data["data"]["appSubscriptionCreate"]["userErrors"].any? && data["data"]["appSubscriptionCreate"]["confirmationUrl"]))
65
65
  redirect_charge = data["data"]["appSubscriptionCreate"]["confirmationUrl"]
66
66
  render json: {'redirect_url' => redirect_charge}
67
67
  else
68
68
  raise Error, "#{data.inspect}"
69
69
  end
70
70
  else
71
- raise Error, "#{data.inspect}"
71
+ raise Error, "Plan not found"
72
72
  end
73
73
  else
74
74
  raise ModelNotFound, "Shop not found"
@@ -262,6 +262,9 @@ module AppManager
262
262
  value = eval(value)
263
263
  value = value.each { |e| e.delete("id") }.each { |e| e.delete("created_at") }.each { |e| e.delete("updated_at") }
264
264
  new_plan[key] = value
265
+ elsif ['plan_id'].include?(key)
266
+ # puts value.inspect
267
+ new_plan["id"] = value if value rescue {}
265
268
  else
266
269
  new_plan[key] = value unless key.class == Integer
267
270
  end
@@ -350,6 +353,8 @@ module AppManager
350
353
  new_plan[key] = (value == 0 || value == false ? false : true)
351
354
  elsif ['test'].include?(key)
352
355
  new_plan[key] = (value == 0 || value == false ? nil : true)
356
+ elsif ['plan_id'].include?(key)
357
+ new_plan["id"] = value if value rescue nil
353
358
  else
354
359
  new_plan[key] = value unless key.class == Integer
355
360
  end
@@ -33,7 +33,7 @@ module AppManager
33
33
  response = ActiveSupport::JSON.decode(response.read_body) rescue nil
34
34
  return response
35
35
  else
36
- Rollbar.error("=== params missing from any of these api_key, api_version, shopify_domain, shopify_token ===")
36
+ Rollbar.error("=== params missing from any of these api_key=#{@api_key}, api_version=#{@api_version}, shopify_domain=#{@shopify_domain}, shopify_token ===#{@shopify_token}")
37
37
  return []
38
38
  end
39
39
  end
@@ -84,8 +84,24 @@ module AppManager
84
84
 
85
85
  discount_type = plan['discount_type'] || "percentage"
86
86
  discount_val = discount_type == "percentage" ? (plan['discount'].to_f/ 100) : "#{plan['discount']}"
87
- plan_discount = plan['discount'] ? { "discount" => { "durationLimitInIntervals" => (plan['cycle_count'].to_i || 0), "value" => {"#{discount_type}" => discount_val} } } : {}
88
-
87
+ if !@api_version.nil? && @api_version.to_s.include?('2024')
88
+ plan_discount = if plan['discount'] && plan['cycle_count']
89
+ {
90
+ "discount" => { "durationLimitInIntervals" => (plan['cycle_count'].to_i),
91
+ "value" => {"#{discount_type}" => discount_val}
92
+ }
93
+ }
94
+ elsif plan['discount']
95
+ {
96
+ "discount" => { "value" => {"#{discount_type}" => discount_val}
97
+ }
98
+ }
99
+ else
100
+ {}
101
+ end
102
+ else
103
+ plan_discount = plan['discount'] ? { "discount" => { "durationLimitInIntervals" => (plan['cycle_count'].to_i), "value" => {"#{discount_type}" => discount_val} } } : {}
104
+ end
89
105
  price_details = {
90
106
  "price": { "amount": plan['price'], "currencyCode": 'USD' },
91
107
  "interval": plan['interval']['value']
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppManager
4
- VERSION = "1.6.3"
4
+ VERSION = "1.7.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rahul Tiwari @ Hulkapps
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-08 00:00:00.000000000 Z
11
+ date: 2024-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty