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.
@@ -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
@@ -1 +1 @@
1
- ree-1.8.7-2012.02
1
+ 2.0.0-p247
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -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 = ['m', version, arg_string].compact.join('|')
144
- @key = "m|#{Digest::SHA1.hexdigest(@key)}" if @key.length > 250
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
@@ -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($/)
@@ -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
- hash: 23
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
- date: 2013-07-15 00:00:00 -07:00
19
- default_executable:
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
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
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
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
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
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
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
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
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
- requirement: &id005 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
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
- requirement: &id006 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 23
102
- segments:
103
- - 1
104
- - 0
105
- - 0
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
- version_requirements: *id006
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
- none: false
145
- requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- hash: 3
149
- segments:
150
- - 0
151
- version: "0"
152
- required_rubygems_version: !ruby/object:Gem::Requirement
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: 1.5.2
139
+ rubygems_version: 2.0.3
165
140
  signing_key:
166
- specification_version: 3
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