lock_and_cache 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +6 -0
- data/lib/lock_and_cache.rb +3 -0
- data/lib/lock_and_cache/version.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93e7bac8ff5246d258e7d92fcb0b7f6af1b85054
|
4
|
+
data.tar.gz: 642a47eef9d3eb08acbcaba89f7286ecd9f98c61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78177a3803b36f89eca2f9f8972f00caf186b0da784954249aaab8df2f2ef76d8d60ad8563e3bb32128ed8b6d67b1eeebd1e44f4e922bd1657dc8b7e80c86440
|
7
|
+
data.tar.gz: 15643bb1fb0225c948af1967bc769725788c4c869554f3d6cfbc3fc2a1295976f0f06d1fad6e1f551bd70a8b1328146b8962767efd1c401beb730421527bb24b
|
data/CHANGELOG
CHANGED
data/lib/lock_and_cache.rb
CHANGED
@@ -13,6 +13,9 @@ module LockAndCache
|
|
13
13
|
|
14
14
|
define_method method_id do |*args|
|
15
15
|
lock_key = [self.class.name, method_id, HashDigest.digest3([as_cache_key]+args)].join('/')
|
16
|
+
if cache_method_cached?(method_id, args)
|
17
|
+
return send(method_id, *args) # which will be the cached version
|
18
|
+
end
|
16
19
|
ActiveRecord::Base.with_advisory_lock(lock_key) do
|
17
20
|
if cache_method_cached?(method_id, args)
|
18
21
|
send method_id, *args # which will be the cached version
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lock_and_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seamus Abshere
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|