activerecord-cached_at 2.0.12 → 2.0.13
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c744adeef1d92b25ca053e9553e23d107317b0db
|
4
|
+
data.tar.gz: 07d579d29d299964580a6025509c756d01fddb3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b32156ffebc82c9fc2a75e1244edfafe76b51bee868eb8126de844220e4afe75c11415cd8d169b28c6138fb2b6aef4f87ee9d05e25a8f94936464756f3511cc
|
7
|
+
data.tar.gz: '0706495432358f4a0b816e93b0d9fd1b5bf284acd36cdd4fe71f9c9969fbec238a1ae69e92a07ae3db3c975ba53e9b6c3fc0596f9a0c6628d3d67e5495893d62'
|
@@ -2,6 +2,7 @@ module CachedAt
|
|
2
2
|
module AssociationExtension
|
3
3
|
|
4
4
|
def self.build(model, reflection)
|
5
|
+
return unless reflection.options[:cached_at]
|
5
6
|
end
|
6
7
|
|
7
8
|
def self.valid_options
|
@@ -11,4 +12,4 @@ module CachedAt
|
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
|
-
ActiveRecord::Associations::Builder::Association.extensions << CachedAt::AssociationExtension
|
15
|
+
ActiveRecord::Associations::Builder::Association.extensions << CachedAt::AssociationExtension
|
@@ -1,30 +1,42 @@
|
|
1
1
|
module CachedAt
|
2
2
|
module AbstractReflection
|
3
3
|
|
4
|
-
def
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
next if r == self
|
10
|
-
begin
|
11
|
-
if r.polymorphic?
|
12
|
-
# TODO
|
13
|
-
else
|
14
|
-
r.klass.reflections.each do |name2, r2|
|
15
|
-
if r2.options[:cached_at] && r2.options[:through] && r2.options[:through] == r.inverse_of&.name
|
16
|
-
@through_relationship_endpoints << r2
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
rescue NameError
|
21
|
-
end
|
4
|
+
def cache_through_relationship_endpoints
|
5
|
+
if defined?(Rails)
|
6
|
+
Rails.application.config.cache_classes
|
7
|
+
else
|
8
|
+
true
|
22
9
|
end
|
10
|
+
end
|
23
11
|
|
12
|
+
def through_relationship_endpoints
|
13
|
+
return @through_relationship_endpoints if instance_variable_defined?(:@through_relationship_endpoints) && cache_through_relationship_endpoints
|
14
|
+
|
15
|
+
@through_relationship_endpoints = if defined?(Rails)
|
16
|
+
Rails.application.reloader.wrap { calculate_through_relationship_endpoints }
|
17
|
+
else
|
18
|
+
calculate_through_relationship_endpoints
|
19
|
+
end
|
20
|
+
|
24
21
|
@through_relationship_endpoints
|
25
22
|
end
|
26
23
|
|
24
|
+
def calculate_through_relationship_endpoints
|
25
|
+
endpoints = []
|
26
|
+
|
27
|
+
if self.polymorphic?
|
28
|
+
else
|
29
|
+
self.klass._reflections.each do |name, r|
|
30
|
+
if r.options[:cached_at] && r.options[:through] && r.options[:through] == self.inverse_of&.name
|
31
|
+
endpoints << r
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
endpoints
|
37
|
+
end
|
38
|
+
|
27
39
|
end
|
28
40
|
end
|
29
41
|
|
30
|
-
ActiveRecord::Reflection::AbstractReflection.include(CachedAt::AbstractReflection)
|
42
|
+
ActiveRecord::Reflection::AbstractReflection.include(CachedAt::AbstractReflection)
|
data/lib/cached_at/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-cached_at
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Bracy
|
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
170
|
version: '0'
|
171
171
|
requirements: []
|
172
172
|
rubyforge_project:
|
173
|
-
rubygems_version: 2.5.
|
173
|
+
rubygems_version: 2.5.2
|
174
174
|
signing_key:
|
175
175
|
specification_version: 4
|
176
176
|
summary: Allows ActiveRecord and Rails to use a `cached_at` column for the `cache_key`
|