method_cache 1.0.0 → 1.1.0
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 +7 -0
- data/.rbenv-version +1 -1
- data/VERSION +1 -1
- data/lib/method_cache/proxy.rb +5 -5
- data/method_cache.gemspec +1 -1
- data/test/method_cache_test.rb +17 -0
- metadata +94 -119
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a99a50f7a13bc0c87fa4c68eac6e3324114d76e2
|
4
|
+
data.tar.gz: b51163473e41ce10fab806f2ef67a7e592a88f82
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 32fc56dace20244c2e9e795e506e2de3dbea956948e1be032b821d43cb1b7ad9a59607b6005090507ad37dc8180b0b6b4d14fdf1aa7c0ab3564d6bf1c72bb239
|
7
|
+
data.tar.gz: 7babb4a5d21ebd3767541a18d9e049b15aad416c1427005306a60791155684b917a701c13e119665257bd10f718c2a0ffd98036ce299eee2cc4a6621dd62f170
|
data/.rbenv-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0-p247
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1.0
|
data/lib/method_cache/proxy.rb
CHANGED
@@ -12,7 +12,7 @@ module MethodCache
|
|
12
12
|
def initialize(method_name, opts)
|
13
13
|
opts[:cache] ||= :counters if opts[:counter]
|
14
14
|
@method_name = method_name
|
15
|
-
@opts = opts
|
15
|
+
@opts = opts
|
16
16
|
end
|
17
17
|
|
18
18
|
def bind(target, args)
|
@@ -108,7 +108,7 @@ module MethodCache
|
|
108
108
|
def method_name_without_caching
|
109
109
|
@method_name_without_caching ||= begin
|
110
110
|
base_name, punctuation = method_name.to_s.sub(/([?!=])$/, ''), $1
|
111
|
-
"#{base_name}_without_caching#{punctuation}"
|
111
|
+
"#{base_name}_without_caching#{punctuation}".to_sym
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -140,10 +140,10 @@ module MethodCache
|
|
140
140
|
arg_string = ([method_name, target] + args).collect do |arg|
|
141
141
|
object_key(arg)
|
142
142
|
end.join('|')
|
143
|
-
@key = [
|
144
|
-
@key =
|
143
|
+
@key = [version, arg_string].compact.join('|')
|
144
|
+
@key = Digest::SHA1.hexdigest(@key) if @key.length > 250
|
145
145
|
end
|
146
|
-
@key
|
146
|
+
"m#{MethodCache.version}|#{@key}"
|
147
147
|
end
|
148
148
|
|
149
149
|
def cached_at
|
data/method_cache.gemspec
CHANGED
@@ -9,6 +9,7 @@ Gem::Specification.new do |gem|
|
|
9
9
|
gem.description = %q{Simple memcache-based memoization library for Ruby}
|
10
10
|
gem.summary = gem.description
|
11
11
|
gem.homepage = "https://github.com/ninjudd/method_cache"
|
12
|
+
gem.license = 'MIT'
|
12
13
|
|
13
14
|
gem.add_development_dependency 'shoulda'
|
14
15
|
gem.add_development_dependency 'mocha'
|
@@ -16,7 +17,6 @@ Gem::Specification.new do |gem|
|
|
16
17
|
gem.add_development_dependency 'dalli'
|
17
18
|
gem.add_development_dependency 'activesupport', '~> 2.3.9'
|
18
19
|
|
19
|
-
|
20
20
|
gem.add_dependency 'memcache', '>= 1.0.0'
|
21
21
|
|
22
22
|
gem.files = `git ls-files`.split($/)
|
data/test/method_cache_test.rb
CHANGED
@@ -84,6 +84,23 @@ class Baz
|
|
84
84
|
extend Bar
|
85
85
|
end
|
86
86
|
|
87
|
+
class A
|
88
|
+
extend MethodCache
|
89
|
+
end
|
90
|
+
|
91
|
+
class B < A
|
92
|
+
cache_method :foo
|
93
|
+
def foo
|
94
|
+
'old'
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
class C < B
|
99
|
+
def foo
|
100
|
+
'new'
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
87
104
|
class TestMethodCache < Test::Unit::TestCase
|
88
105
|
should 'cache methods locally' do
|
89
106
|
a = Foo.new
|
metadata
CHANGED
@@ -1,121 +1,106 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: method_cache
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 1.0.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Justin Balthrop
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2013-11-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: shoulda
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
33
20
|
type: :development
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: mocha
|
37
21
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: mocha
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
47
34
|
type: :development
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: rake
|
51
35
|
prerelease: false
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
61
48
|
type: :development
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: dalli
|
65
49
|
prerelease: false
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dalli
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
75
62
|
type: :development
|
76
|
-
version_requirements: *id004
|
77
|
-
- !ruby/object:Gem::Dependency
|
78
|
-
name: activesupport
|
79
63
|
prerelease: false
|
80
|
-
|
81
|
-
|
82
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activesupport
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
83
73
|
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
hash: 17
|
86
|
-
segments:
|
87
|
-
- 2
|
88
|
-
- 3
|
89
|
-
- 9
|
74
|
+
- !ruby/object:Gem::Version
|
90
75
|
version: 2.3.9
|
91
76
|
type: :development
|
92
|
-
version_requirements: *id005
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: memcache
|
95
77
|
prerelease: false
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.3.9
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: memcache
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
106
89
|
version: 1.0.0
|
107
90
|
type: :runtime
|
108
|
-
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.0.0
|
109
97
|
description: Simple memcache-based memoization library for Ruby
|
110
|
-
email:
|
98
|
+
email:
|
111
99
|
- git@justinbalthrop.com
|
112
100
|
executables: []
|
113
|
-
|
114
101
|
extensions: []
|
115
|
-
|
116
102
|
extra_rdoc_files: []
|
117
|
-
|
118
|
-
files:
|
103
|
+
files:
|
119
104
|
- .gitignore
|
120
105
|
- .rbenv-gemsets
|
121
106
|
- .rbenv-version
|
@@ -131,41 +116,31 @@ files:
|
|
131
116
|
- test/method_cache_remote_test.rb
|
132
117
|
- test/method_cache_test.rb
|
133
118
|
- test/test_helper.rb
|
134
|
-
has_rdoc: true
|
135
119
|
homepage: https://github.com/ninjudd/method_cache
|
136
|
-
licenses:
|
137
|
-
|
120
|
+
licenses:
|
121
|
+
- MIT
|
122
|
+
metadata: {}
|
138
123
|
post_install_message:
|
139
124
|
rdoc_options: []
|
140
|
-
|
141
|
-
require_paths:
|
125
|
+
require_paths:
|
142
126
|
- lib
|
143
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ">="
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
hash: 3
|
158
|
-
segments:
|
159
|
-
- 0
|
160
|
-
version: "0"
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - '>='
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
161
137
|
requirements: []
|
162
|
-
|
163
138
|
rubyforge_project:
|
164
|
-
rubygems_version:
|
139
|
+
rubygems_version: 2.0.3
|
165
140
|
signing_key:
|
166
|
-
specification_version:
|
141
|
+
specification_version: 4
|
167
142
|
summary: Simple memcache-based memoization library for Ruby
|
168
|
-
test_files:
|
143
|
+
test_files:
|
169
144
|
- test/method_cache_remote_test.rb
|
170
145
|
- test/method_cache_test.rb
|
171
146
|
- test/test_helper.rb
|