cache_key_for 0.1.5 → 0.1.6

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: be19aeb37e5ce9fe0c973ed15bad9dc39a373401
4
- data.tar.gz: 86b011411d5d4e2c6c7b22e4a3f3e876d1315c7b
3
+ metadata.gz: d793373a7919dfb8ffd28f2538db4b3b2095c84d
4
+ data.tar.gz: e7724aae76d14e231f430b8f9c8c1d4f24efbe59
5
5
  SHA512:
6
- metadata.gz: ac6ebf416b422bc8b36d180e4a7c3ae119003581a201c5b80349b16a2b86f60d4cc7902adf7c4315defaf65ad7ccab077a522e323f915e7cf38ec3a22149f645
7
- data.tar.gz: c4ca22868d6475660266f45575cd44296a8f5d3216ae7d009f6f83a42d642a74c46b306e24e41de5bb317378016f31466086d38e21fbaefe26d982e4bb61225e
6
+ metadata.gz: 4a0a96ae20a85d30066805cc2e18bccfd5ac32c6cdc91aa74f205915acfc4b2167eff0a127c1dd856de4385188f9d67cdb235d237de43e079400eead27148583
7
+ data.tar.gz: 771f3129b4081a9883ef98564617e5b27bf85d254952fbba935c9e2b4764360d253dca269cf8fe6c9d9d8000c3cfc66d4bb7d68756709de89952ed22f98fcbd8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cache_key_for (0.1.5)
4
+ cache_key_for (0.1.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -43,11 +43,17 @@
43
43
  # ```
44
44
  module CacheKeyForHelper
45
45
  def cache_key_for(scoped_collection, collection_prefix, cache_owner_cache_key = '', suffix = '', whitelist_params = [], default_params = {})
46
- if scoped_collection.respond_to?(:maximum)
47
- max_updated_at = scoped_collection.maximum(:updated_at).to_f
46
+ if scoped_collection.respond_to?(:maximum) # ActiveRecord
47
+ begin
48
+ max_updated_at = scoped_collection.maximum(scoped_collection.table_name + '.updated_at').to_f
49
+ # can't use join table as query root if query includes polimorphic associations
50
+ rescue ActiveRecord::EagerLoadPolymorphicError
51
+ Rails.logger.debug "[CacheKeyForHelper] Fallback to array (ActiveRecord::EagerLoadPolymorphicError)"
52
+ scoped_collection = scoped_collection.to_a
53
+ end
48
54
  elsif scoped_collection.class == Array
49
55
  max_updated_at = scoped_collection.to_a.map { |i| i.updated_at ? i.updated_at.utc.to_f : 0 }.max
50
- elsif scoped_collection.respond_to?(:max)
56
+ elsif scoped_collection.respond_to?(:max) # Mongoid
51
57
  max_updated_at = scoped_collection.max(:updated_at).to_f
52
58
  end
53
59
  count = scoped_collection.count
@@ -1,3 +1,3 @@
1
1
  module CacheKeyFor
2
- VERSION = '0.1.5'.freeze
2
+ VERSION = '0.1.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cache_key_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcin Kalita
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-05 00:00:00.000000000 Z
11
+ date: 2016-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal