cache-object 0.0.5 → 0.0.6

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: c2a98fe0b987a204106bb9e8f273ae36b7af394e
4
- data.tar.gz: 32890adb0048d8f08c61bad3e3041c58841b2fdd
3
+ metadata.gz: ccaaecfb055eeb74feef3c2cd4447b19789f128a
4
+ data.tar.gz: 2ab0deb7a2a7d6f5ddd529d2fcd7a5d6e6f1edcb
5
5
  SHA512:
6
- metadata.gz: 84721447edb9c798e46b9b8e094153c8472dfef2ad52803027cdafdefc698d2a7978c437650406f331450767dcc1dbbd1786e78e9f2dda062440ebaf3a49ed84
7
- data.tar.gz: 4d492ccb088d4620d9167bf18a15598b10f9b4d1ab988779a0747aef8f44f9a43d27df0db195f2e7c6261a2f51c76327ec6bc3f0f00bff724f5715efc17ab5b3
6
+ metadata.gz: ac61615c7da8577d9c9be7a4eb8677caea2484b641cd327a700c27c3cebe2849662c946eb4e6f93802e88077387612c7a08940657e0398a22f2767d830a8fc48
7
+ data.tar.gz: 7aa792ad602a7b75f53545d98b3bb1704b0910830caf9908de5217e513c011d9adc3183b84b727d74312eb076d2760d13bb27da5889a2484667d1a464d988010
@@ -37,10 +37,12 @@ module Cache
37
37
  end
38
38
 
39
39
  def write_cache!
40
+ return unless self.send(self.class.primary_key)
40
41
  Cache::Object.adapter.write(_cache_object_decorator)
41
42
  end
42
43
 
43
44
  def expire_cache!
45
+ return unless self.send(self.class.primary_key)
44
46
  Cache::Object.adapter.delete(_cache_object_decorator)
45
47
  end
46
48
 
@@ -1,5 +1,5 @@
1
1
  module Cache
2
2
  module Object
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
@@ -25,6 +25,14 @@ RSpec.describe Cache::Object::ActiveRecord do
25
25
  class Model < FakeActiveRecord
26
26
  include Cache::Object::ActiveRecord
27
27
 
28
+ def self.primary_key
29
+ :id
30
+ end
31
+
32
+ def id
33
+ Random.rand * 100
34
+ end
35
+
28
36
  object_cache_on :name, :age
29
37
  end
30
38
 
@@ -99,8 +107,7 @@ RSpec.describe Cache::Object::ActiveRecord do
99
107
  describe ".find_by_id" do
100
108
  describe "caching interactions" do
101
109
  it "yields to super with cache" do
102
- expect(super_clazz).to receive(:primary_key) { "primary_key" }
103
- expect(super_clazz).to receive(:where).with("primary_key" => 12).once { double(first: true) }
110
+ expect(super_clazz).to receive(:where).with(:id => 12).once { double(first: true) }
104
111
  clazz.find_by_id(12)
105
112
  end
106
113
  end
@@ -101,5 +101,12 @@ RSpec.describe "Caching" do
101
101
  end
102
102
  end
103
103
 
104
+ describe "when object is not persisted" do
105
+ it "does not call the adapter" do
106
+ expect(Cache::Object.adapter).to receive(:write).never
107
+ User.new(name: "blah").write_cache!
108
+ end
109
+ end
110
+
104
111
 
105
112
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cache-object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Camuto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-24 00:00:00.000000000 Z
11
+ date: 2014-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord