common-data-caching 1.0.2.2 → 1.2.0

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: 4653cc550675ff237ef5bac9ee595610a89275097d922830d18a15b2cba17c34
4
- data.tar.gz: 0fc5de0eae713c9ba6420d39f390519d90f150d11d4729fe81b5862e43d05ecf
3
+ metadata.gz: fd3f226deb5e5506068c4c077dbf5e2fadb8b4268d3bae92aa30922e43f024bd
4
+ data.tar.gz: '0827e9f74d4076509ff8bfc4afd095b9339b42b12fcaa0b996c4f922f3d0123b'
5
5
  SHA512:
6
- metadata.gz: daa447db713ca2a9c3bdf74b4717e402c83ba4d646657d98ae74e62017752888be9fd9ce30f7be78cc9c0a715a1dc302e37051126d252c940aff5b71ac5cdf17
7
- data.tar.gz: 4f03c9fbe3dc0740ca9c0fa512a6e92a78aa2db8a903ea51558d230adfe5252ad65f9275ad3f9643ed54dd49ffadfc482778a648a7e2268bfdad110446859b9d
6
+ metadata.gz: 88fb81de30d3159345e76c7a12635c1b5b83806d56140b30427fb36845c5cad68eea625ceb5d266d78ccae314965796bd46607232a7e0647e9c80d38ec779d19
7
+ data.tar.gz: d4bb6c8a0873ed6a0d915ae0065d4ad7e97ed9a7c93ad07c566a2e54f921d8c577c17ab33713672a5938aa29e6afbe1e89d1672cc2f4d81290bcaf837e8e6ebb
@@ -2,23 +2,7 @@ namespace :common_data_caching do
2
2
 
3
3
  desc 'Обновить кеш общих данных'
4
4
  task update_cache: :environment do
5
- # получение списка моделей
6
- Rails.application.eager_load!
7
- models = ActiveRecord::Base.descendants
8
-
9
- # удаление старых версий кеша
10
- Rails.cache.delete('common-data-caching-versions')
11
-
12
- models.each do |model|
13
- # проверка - в модели предусмотрено кеширование общих данных
14
- next unless model.common_data_caching?
15
-
16
- # обновление кеша
17
- model.update_common_data_cache
18
-
19
- # обновление версий кеша
20
- model.update_common_data_cache_versions
21
- end
5
+ CommonDataCaching.update_cache
22
6
  end
23
7
 
24
8
  end
@@ -9,6 +9,35 @@ module CommonDataCaching
9
9
  Rails.cache.read('common-data-caching-versions') || {}
10
10
  end
11
11
 
12
+ def self.all_collections
13
+ versions.map do |entity, _version|
14
+ {
15
+ entity:,
16
+ objects: entity.constantize.common_data_cache_collection
17
+ }
18
+ end
19
+ end
20
+
21
+ def self.update_cache
22
+ # получение списка моделей
23
+ Rails.application.eager_load!
24
+ models = ActiveRecord::Base.descendants
25
+
26
+ # удаление старых версий кеша
27
+ Rails.cache.delete('common-data-caching-versions')
28
+
29
+ models.each do |model|
30
+ # проверка - в модели предусмотрено кеширование общих данных
31
+ next unless model.common_data_caching?
32
+
33
+ # обновление кеша
34
+ model.update_common_data_cache
35
+
36
+ # обновление версий кеша
37
+ model.update_common_data_cache_versions
38
+ end
39
+ end
40
+
12
41
  end
13
42
 
14
43
  ActiveSupport.on_load(:active_record) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: common-data-caching
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-16 00:00:00.000000000 Z
11
+ date: 2024-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails