app_manager 1.2.2 → 1.2.5

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
2
  SHA256:
3
- metadata.gz: 9e3986aadebfd51cccf040bfd0a5ad36041de436ac3ab4c074fb0a2174a9da10
4
- data.tar.gz: 83e772b1847481e9e91745f91569973d16e1809eb7732affe4f6f46ab3385c89
3
+ metadata.gz: b8b130ade59cce66eefb10134bca05802a6f7911e59123a1f8885789547a6c5f
4
+ data.tar.gz: d3fb70f8010e1d70dc1042c28322d5eeb7696cdecef9bd29fdd09e80a9a02e9d
5
5
  SHA512:
6
- metadata.gz: 8793bb25fdfbff2ed36e2c0f4f24f63d6c40c1bc6df999ef101cfa6f6b66d2732729743f1ab2298d66debfbd6785ea47bddcdacf7fa3d21efcebdd17bcda5b3b
7
- data.tar.gz: 1b040a0afaedeb15cf4892f9010105e4f1ea1e6f7a92b75c5d65dc5e1c3a5870fd3eb4a01f825738a5c8fbc722a8f3dd63fe3be8eb217bf19ac4859bc1d716bd
6
+ metadata.gz: 3fbef0b8ce7194394d942bbf2fd93d1aa52c7b9035be8a98a09ab080c33d047c8e8fe213f66d5cc1396aa326f7d4881d0db47077ffae42a01b1558f8a8c3febc
7
+ data.tar.gz: e2138c8801189e683ae7db8703dbe2703eedfdedca2a87c0a6f00528bb49bcd28436e457aeb77dca3113993599459b25632e190ee85e95521332d43fe018a4a1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_manager (1.2.2)
4
+ app_manager (1.2.5)
5
5
  httparty
6
6
  kaminari (>= 0.16.3)
7
7
  rails (>= 5.2.0)
@@ -172,6 +172,7 @@ module AppManager
172
172
  end
173
173
 
174
174
 
175
+
175
176
  private
176
177
 
177
178
  def params_permit
@@ -24,7 +24,11 @@ module AppManager
24
24
 
25
25
  def request(http_method, path, options)
26
26
  begin
27
+ if http_method.to_s == 'get'
28
+ response = response_from_cache_for_api(http_method, path, options)
29
+ else
27
30
  response = self.class.send(http_method, path, { body: options, timeout: 10 })
31
+ end
28
32
  if path.include? "/get-status"
29
33
  data = response
30
34
  elsif path.include? "/sync-charge"
@@ -44,6 +48,22 @@ module AppManager
44
48
  end
45
49
  end
46
50
 
51
+ def response_from_cache_for_api(http_method, path, options)
52
+ cache_key = "app-manager-cache/#{path}"
53
+ if fetch_static_cached_response(cache_key).present?
54
+ return fetch_static_cached_response(cache_key)
55
+ end
56
+ response = self.class.send(http_method, path, { body: options, timeout: 10 })
57
+ Rails.cache.write(cache_key, response, expires_in: AppManager.configuration.expires_in)
58
+ return response
59
+ end
60
+
61
+ def fetch_static_cached_response(cache_key)
62
+ if Rails.cache.read(cache_key).present?
63
+ return Rails.cache.read(cache_key)
64
+ end
65
+ end
66
+
47
67
  def parse_data(original_data)
48
68
  return unless original_data
49
69
  if (original_data.class == Hash) && original_data.key?("headers") && original_data.key?("footers") && original_data.key?("modal")
@@ -35,7 +35,7 @@ module AppManager
35
35
  'email' => 'email'
36
36
  }
37
37
  @fs = AppManager::FailSafe.new
38
- AppManager.clear_cache
38
+ # AppManager.clear_cache
39
39
  end
40
40
 
41
41
  def expires_in
@@ -10,7 +10,7 @@ module AppManager
10
10
  def initialize(db_name='app_manager_local')
11
11
  @apm_db = SQLite3::Database.open "db/#{db_name}.db"
12
12
  begin
13
- FileUtils.chmod 0777, "db/#{db_name}.db"
13
+ FileUtils.chmod 0664, "db/#{db_name}.db"
14
14
  rescue Exception => e
15
15
  puts ">>>>>> #{e.inspect}"
16
16
  end
@@ -2,7 +2,8 @@ module AppManager
2
2
  module Model
3
3
  extend ActiveSupport::Concern
4
4
 
5
-
5
+ @@remaining_cache_key = "get_remaining_days_key"
6
+ @@get_charge_key = "get_charge_key"
6
7
 
7
8
  def has_plan
8
9
  if !self[AppManager.configuration.plan_id_or_name_field]
@@ -16,14 +17,15 @@ module AppManager
16
17
  Rails.logger.info "Plan id found nil or not set"
17
18
  return false;
18
19
  end
19
- remaining_days = self.get_remaining_days
20
+ remaining_days = fetch_static_remaining_days
20
21
  if remaining_days > 0
21
22
  return true
22
23
  end
23
- plan_obj = AppManager::Client.new
24
- shop_domain = self[AppManager.configuration.shopify_domain_field]
25
- active_charge = plan_obj.get_charge(shop_domain) rescue nil
26
- return active_charge['active_charge'].present? && !active_charge['active_charge'].nil? ? true : false
24
+ # plan_obj = AppManager::Client.new
25
+ # shop_domain = self[AppManager.configuration.shopify_domain_field]
26
+ # active_charge = plan_obj.get_charge(shop_domain) rescue nil
27
+ active_charge = fetch_static_get_charge
28
+ return active_charge && active_charge['active_charge'].present? && !active_charge['active_charge'].nil? ? true : false
27
29
  end
28
30
 
29
31
 
@@ -72,7 +74,7 @@ module AppManager
72
74
  plan_field = AppManager.configuration.field_names['plan_id']
73
75
  plan_id = self[plan_field]
74
76
  plan_obj = AppManager::Client.new
75
- shop_domain ? plan_obj.get_remaining_days(shop_domain,trial_activated_at_val,plan_id) : 0
77
+ return shop_domain ? plan_obj.get_remaining_days(shop_domain,trial_activated_at_val,plan_id) : 0
76
78
  rescue Exception => e
77
79
  return "#{e.inspect}"
78
80
  end
@@ -195,6 +197,41 @@ module AppManager
195
197
 
196
198
 
197
199
 
200
+ def fetch_static_remaining_days
201
+ @remaining_cache_key = "app-manager-cache/#{self.shopify_domain}-remaining_days"
202
+ if fetch_cached_static_remaining_days(@remaining_cache_key).present?
203
+ return fetch_cached_static_remaining_days(@remaining_cache_key)
204
+ end
205
+ remaining_days = self.get_remaining_days
206
+ Rails.cache.write(@remaining_cache_key, remaining_days, expires_in: AppManager.configuration.expires_in)
207
+ return remaining_days
208
+ end
209
+
210
+ def fetch_cached_static_remaining_days(cache_key)
211
+ if Rails.cache.read(cache_key).present?
212
+ return Rails.cache.read(cache_key)
213
+ end
214
+ end
215
+
216
+
217
+
218
+ def fetch_static_get_charge
219
+ @get_charge_key = "app-manager-cache/#{self.shopify_domain}-get_charge"
220
+ if fetch_cached_static_get_charge(@get_charge_key).present?
221
+ return fetch_cached_static_get_charge(@get_charge_key)
222
+ end
223
+ charge = self.get_charge
224
+ Rails.cache.write(@get_charge_key, charge, expires_in: AppManager.configuration.expires_in)
225
+ return charge
226
+ end
227
+
228
+ def fetch_cached_static_get_charge(cache_key)
229
+ if Rails.cache.read(cache_key).present?
230
+ return Rails.cache.read(cache_key)
231
+ end
232
+ end
233
+
234
+
198
235
  private
199
236
 
200
237
  def casted_value(value,value_type)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppManager
4
- VERSION = "1.2.2"
4
+ VERSION = "1.2.5"
5
5
  end
data/lib/app_manager.rb CHANGED
@@ -27,7 +27,11 @@ module AppManager
27
27
  end
28
28
 
29
29
  def self.clear_cache
30
- Rails.cache.delete_matched('app-manager-cache/*')
30
+ begin
31
+ Rails.cache.delete_matched('app-manager-cache/*')
32
+ rescue Exception => e
33
+ Rails.logger.info "APP MANAGER >>>> #{e.inspect}"
34
+ end
31
35
  end
32
36
 
33
37
  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.2.2
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hulkapps
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2022-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty