support_table_cache 1.1.2 → 1.1.3

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: 96d5ff63c1cd08f7389bf3b409d0afc4f706f42bed958c7b3a7f2b592d391453
4
- data.tar.gz: 76e59a449b9eeffd9df794f014abcbf324f4df2590e250817a4dd3b77467e5b5
3
+ metadata.gz: 919adfaf6654d3accefd95fbba6cc116484780d0e73bc23c975da5e310c10173
4
+ data.tar.gz: 5c93b1ffc131dddc417b5de585f38ba89e4872e7d4a009705a0b8c669d7a6dd9
5
5
  SHA512:
6
- metadata.gz: 970762a6cb7aaf507552dce376efbcf1da64feb54b261fa315aaff2fc8898b4b8d3db755690c3c09e57e4c615ac7ae23e334e8d1426613b59a800a34c55f6b52
7
- data.tar.gz: deed3048a34f40d30aec7c902f09f265642e34a6e8108cca9db806929ab74ef57fd2f31d24b01dd892717a463e5c3bfdb1f6aaaf15b74d9b791d987560c2bc0f
6
+ metadata.gz: 922e53c4a25b835aadf77fa0bdc18af93d70406476ab08a4ee72828dad79265203d89fef68963260666cb44cc1990bccffa0034f43376e9dc1cc632debaad87c
7
+ data.tar.gz: 756b44a620b8a6138358d23fcb4739c927d630c7e26685f173e9643d136b9ec41ddf045e77078a0bb73ada847dc46a5b952ccbb35693cd682fa0c0e8e38d92d8
data/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## 1.1.3
8
+
9
+ ### Fixed
10
+ - Avoid calling methods that require a database connection when setting up belongs to caching.
11
+
7
12
  ## 1.1.2
8
13
 
9
14
  ### Fixed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.2
1
+ 1.1.3
@@ -26,13 +26,21 @@ module SupportTableCache
26
26
  raise ArgumentError.new("Cannot cache belongs_to #{association_name} association because it has a scope")
27
27
  end
28
28
 
29
+ define_belongs_to_with_cache(association_name.to_s)
30
+ end
31
+
32
+ private
33
+
34
+ def define_belongs_to_with_cache(association_name)
29
35
  class_eval <<~RUBY, __FILE__, __LINE__ + 1
30
36
  def #{association_name}_with_cache
31
- foreign_key = self.send(#{reflection.foreign_key.inspect})
37
+ reflection = self.class.reflections[#{association_name.inspect}]
38
+ foreign_key = self.send(reflection.foreign_key)
32
39
  return nil if foreign_key.nil?
33
- key = [#{reflection.class_name.inspect}, {#{reflection.association_primary_key.inspect} => foreign_key}]
34
- cache = #{reflection.class_name}.send(:current_support_table_cache)
35
- ttl = #{reflection.class_name}.send(:support_table_cache_ttl)
40
+
41
+ key = [reflection.class_name, {reflection.association_primary_key => foreign_key}]
42
+ cache = reflection.klass.send(:current_support_table_cache)
43
+ ttl = reflection.klass.send(:support_table_cache_ttl)
36
44
  if cache
37
45
  cache.fetch(key, expires_in: ttl) do
38
46
  #{association_name}_without_cache
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: support_table_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Durand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-17 00:00:00.000000000 Z
11
+ date: 2023-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord