common-data-caching 1.2.0 → 1.3.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: fd3f226deb5e5506068c4c077dbf5e2fadb8b4268d3bae92aa30922e43f024bd
4
- data.tar.gz: '0827e9f74d4076509ff8bfc4afd095b9339b42b12fcaa0b996c4f922f3d0123b'
3
+ metadata.gz: 8a082bb986847e69fc1e8d00e0ca871c87ba71cf91fdbaad036dbb7212f3a15e
4
+ data.tar.gz: be69e9b648072e06927fa1808eb17fc6bb2a50cae15bd3fe1cee808439599d5b
5
5
  SHA512:
6
- metadata.gz: 88fb81de30d3159345e76c7a12635c1b5b83806d56140b30427fb36845c5cad68eea625ceb5d266d78ccae314965796bd46607232a7e0647e9c80d38ec779d19
7
- data.tar.gz: d4bb6c8a0873ed6a0d915ae0065d4ad7e97ed9a7c93ad07c566a2e54f921d8c577c17ab33713672a5938aa29e6afbe1e89d1672cc2f4d81290bcaf837e8e6ebb
6
+ metadata.gz: 106b64506c7d3ca88b2e5b1caae0e2ab4025475ee07f574983e5d66c0c8fc329e4e8ef1adf0e3d15f15f0bb87b232b836a2f4e4880b6ccb5d858388d0a29357f
7
+ data.tar.gz: '08f15a5c15f5667d436d8f770d3ccc22561d22272ec998feed7847cc294b6ac21104300a299c9ae0263cac474c39381161169d175704fed08fb35b825695880f'
data/README.md CHANGED
@@ -47,6 +47,14 @@ User.common_data_cache_collection
47
47
  CommonDataCaching.versions
48
48
  ```
49
49
 
50
+ При необходимости, чтобы не обновлять кеш при создании или редактировании определенной записи, передайте `skip_common_data_caching: true` в качестве аргумента:
51
+
52
+ ```ruby
53
+ User.create(email: "user@example.com", skip_common_data_caching: true)
54
+
55
+ User.find(1).update(name: "User", skip_common_data_caching: true)
56
+ ```
57
+
50
58
  ### Сортировка
51
59
 
52
60
  Для применения сортировки, передайте опцию `order`:
@@ -3,6 +3,10 @@ module CommonDataCaching
3
3
 
4
4
  extend ActiveSupport::Concern
5
5
 
6
+ included do
7
+ attr_accessor :skip_common_data_caching
8
+ end
9
+
6
10
  def common_data_caching?
7
11
  true
8
12
  end
@@ -58,10 +58,16 @@ ActiveSupport.on_load(:active_record) do
58
58
  # методы кеширования
59
59
  extend CommonDataCaching::ClassMethods
60
60
 
61
- # установка коллбэков
61
+ # коллбэки
62
62
  include CommonDataCaching::Callbacks
63
- after_commit :update_common_data_cache, on: %i[create update destroy], if: :common_data_caching?
64
- after_commit :update_common_data_cache_versions, on: %i[create update destroy], if: :common_data_caching?
63
+
64
+ after_commit :update_common_data_cache,
65
+ on: %i[create update destroy],
66
+ if: proc { |i| i.common_data_caching? && i.skip_common_data_caching != true }
67
+
68
+ after_commit :update_common_data_cache_versions,
69
+ on: %i[create update destroy],
70
+ if: proc { |i| i.common_data_caching? && i.skip_common_data_caching != true }
65
71
  end
66
72
  end
67
73
  end
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.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-31 00:00:00.000000000 Z
11
+ date: 2024-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails