common-data-caching 1.0.2.2 → 1.2.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: 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