second_level_cache 2.1.7 → 2.1.8

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
  SHA1:
3
- metadata.gz: c740b35114538a617bf52234b5cf17de17ad303b
4
- data.tar.gz: 1b5d6d3a992839e9b505e87969f2fcb812f11b9b
3
+ metadata.gz: eac9a34cfad42e9f20c89eea21bd8f35db5869a9
4
+ data.tar.gz: d74fa93c9a2c93b18d5f35de3af34fbe08d29543
5
5
  SHA512:
6
- metadata.gz: db2762f8d3da3295f5598647c359a0519623decb228bfae93c76886c31add9565772d264705fbc00452cb57088b168b1941d904d6a9a9616f5b3a82acf64afde
7
- data.tar.gz: 5b9460687d85949c58611235f14acd096f10674fd0b784583184f1aa26ac82576ddaedc3c1c334f48bc13447f93c11a20139850c8b0b096fee2fdde97b62c97b
6
+ metadata.gz: 2d278145d9eb185c95150e89e22c9a6cf1e43de72b90d3cd9050db513762a9b5fa4027deb72d1617bd6570417d957c03a06b73cff1725cab90651a4f9486582c
7
+ data.tar.gz: 6c9836d37d7a3952b09737f6661941c5c8cc1db606ace0548dc464774daee9a35ec26b0fc8f9324716c0072830b8edd7a5d92bb1f4a05a5777504c4a4b8afdc0
data/README.md CHANGED
@@ -17,7 +17,7 @@ Write-Through: As objects are created, updated, and deleted, all of the caches a
17
17
  In your gem file:
18
18
 
19
19
  ```ruby
20
- gem "second_level_cache", "~> 2.1.7"
20
+ gem "second_level_cache", "~> 2.1.8"
21
21
  ```
22
22
 
23
23
  For ActiveRecord 3:
@@ -12,6 +12,8 @@ module SecondLevelCache
12
12
 
13
13
  def find_target_with_second_level_cache
14
14
  return find_target_without_second_level_cache unless klass.second_level_cache_enabled?
15
+ return find_target_without_second_level_cache if reflection.options[:through]
16
+ # TODO: implement cache with has_one through
15
17
  if reflection.options[:as]
16
18
  cache_record = klass.fetch_by_uniq_keys({reflection.foreign_key => owner[reflection.active_record_primary_key], reflection.type => owner.class.base_class.name})
17
19
  else
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module SecondLevelCache
3
- VERSION = "2.1.7"
3
+ VERSION = "2.1.8"
4
4
  end
@@ -13,4 +13,15 @@ class HasOneAssociationTest < ActiveSupport::TestCase
13
13
  clean_user.account
14
14
  end
15
15
  end
16
+
17
+ def test_should_fetch_has_one_through
18
+ user = User.create :name => 'hooopo', :email => 'hoooopo@gmail.com', forked_from_user: @user
19
+ clean_user = user.reload
20
+ assert_equal User, clean_user.forked_from_user.class
21
+ assert_equal @user.id, user.forked_from_user.id
22
+ # clean_user = user.reload
23
+ # assert_no_queries do
24
+ # clean_user.forked_from_user
25
+ # end
26
+ end
16
27
  end
data/test/model/user.rb CHANGED
@@ -9,6 +9,12 @@ ActiveRecord::Base.connection.create_table(:users, :force => true) do |t|
9
9
  t.timestamps null: false
10
10
  end
11
11
 
12
+ ActiveRecord::Base.connection.create_table(:forked_user_links, :force => true) do |t|
13
+ t.integer :forked_to_user_id
14
+ t.integer :forked_from_user_id
15
+ t.timestamps null: false
16
+ end
17
+
12
18
  class User < ActiveRecord::Base
13
19
  CacheVersion = 3
14
20
  serialize :options, Array
@@ -17,6 +23,13 @@ class User < ActiveRecord::Base
17
23
  end
18
24
  acts_as_cached(:version => CacheVersion, :expires_in => 3.day)
19
25
  has_one :account
26
+ has_one :forked_user_link, foreign_key: 'forked_to_user_id'
27
+ has_one :forked_from_user, through: :forked_user_link
20
28
  has_many :books
21
29
  has_many :images, :as => :imagable
22
30
  end
31
+
32
+ class ForkedUserLink < ActiveRecord::Base
33
+ belongs_to :forked_from_user, class_name: User
34
+ belongs_to :forked_to_user, class_name: User
35
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: second_level_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.7
4
+ version: 2.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hooopo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-03 00:00:00.000000000 Z
11
+ date: 2016-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport