redis-cacheable 0.1.2 → 0.2.0

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: d39f90df0af7cdab3b63487d59fdd1dae095cdd5
4
- data.tar.gz: f34c8c7764c257b3a9a361b420b317a4b90a68e8
3
+ metadata.gz: 9706cf90fd7bfd8c6276e7fb47c9d927ca1d4c42
4
+ data.tar.gz: 24e68ff93bf5d381c3bc96d133894a14cce2052d
5
5
  SHA512:
6
- metadata.gz: c537829ce3c8b5c26e0b27fbf3d55180b6e7bcfadebb9c4b4910bc0bd77b98ecbabe6d0736e9d7930867f701d258f77023dd3fe0f195e89cd13174d30f691d50
7
- data.tar.gz: 1dda563700067ef3f3fa5b4b64bebed28b10c1d7936aa265e203c37e267b59366c5a39b425f9ff5e4d57e2fac02b6e3274ae24732caa053e89c86d6aa3823f2b
6
+ metadata.gz: 3a219636463b3d5684880ffba2a9ce08ad2459a6646324ed153a28b8ea8348a9b8dd7f909b3943cf99edceb4ee8a4d9a6413c71d32e69339b387d8dfe893818c
7
+ data.tar.gz: 8b24f33964a3860442851cf3e9aea69c0508740a8c77b97273a733a32c6fca6d352b55729b196b9bf8062587dd18ca9473f5c6f091e9cd83e125e22ea3102ea9
@@ -1,3 +1,3 @@
1
1
  module RedisCacheable
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -29,6 +29,10 @@ module RedisCacheable
29
29
  include Connectable
30
30
 
31
31
  module ClassMethods
32
+ def inherited(subclass)
33
+ subclass.instance_variable_set("@__redis_cache_key__", @__redis_cache_key__)
34
+ subclass.instance_variable_set("@__redis_cache_attrs__", @__redis_cache_attrs__)
35
+ end
32
36
 
33
37
  # @param [Symbol || Proc] key used by redis.set method
34
38
  # @example If Symbol, param is method name
@@ -25,6 +25,12 @@ class ProcKeyObject < CacheableObject
25
25
  redis_key ->(object) { "object_#{object.id}" }
26
26
  end
27
27
 
28
+ class InheritBase < CacheableObject
29
+ redis_key :name
30
+ end
31
+
32
+ class InheritChild < InheritBase; end
33
+
28
34
  describe RedisCacheable do
29
35
  describe "Object including RedisCacheable" do
30
36
  describe "#cache_to_redis" do
@@ -54,6 +60,15 @@ describe RedisCacheable do
54
60
  expect(ProcKeyObject.find_from_redis("object_1")).to eq({"id" => 1, "name" => "target"})
55
61
  end
56
62
  end
63
+
64
+ context "Inherit Test" do
65
+ subject { InheritChild.new(id: 1, name: "target").cache_to_redis }
66
+
67
+ it "use proc result as redis key" do
68
+ subject
69
+ expect(InheritChild.find_from_redis("target")).to eq({"id" => 1, "name" => "target"})
70
+ end
71
+ end
57
72
  end
58
73
  end
59
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-cacheable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - joker1007
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-07 00:00:00.000000000 Z
11
+ date: 2014-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -224,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
224
  version: '0'
225
225
  requirements: []
226
226
  rubyforge_project:
227
- rubygems_version: 2.1.4
227
+ rubygems_version: 2.2.2
228
228
  signing_key:
229
229
  specification_version: 4
230
230
  summary: Concern style helper of caching object to Redis