method_cacher 0.0.2 → 0.0.3

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,2 @@
1
+ rvm:
2
+ - 1.9.2
@@ -6,3 +6,8 @@
6
6
 
7
7
  + Added more details to the gemspec.
8
8
 
9
+ ## v0.0.3
10
+
11
+ + Added documentation to README.md.
12
+ + Fixed some specs.
13
+
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Method Cacher
1
+ # Method Cacher [![Build Status](https://secure.travis-ci.org/yaronw/method_cacher.png)](http://travis-ci.org/yaronw/method_cacher)
2
2
 
3
3
  Wraps specified methods with a mechanism that caches the return values.
4
4
 
@@ -13,7 +13,8 @@ __Features:__
13
13
 
14
14
  ## Installation
15
15
 
16
- Add the `method_cacher` gem your Gemfile and run the `bundle` command to install it.
16
+ Run the command `gem install method_cacher`, or if used in a Rails project,
17
+ add the `method_cacher` gem your Gemfile and run the `bundle` command to install it.
17
18
 
18
19
  ```ruby
19
20
  gem 'method_cacher'
@@ -23,11 +24,31 @@ __Requires Ruby 1.9.2 or later.__
23
24
 
24
25
  ## Configuration
25
26
 
26
- ...
27
+ Before utilized, method_cacher needs to be configured with a cache store for its use.
28
+ The cache store needs to be compatible with ActiveSupport::Cache.
29
+
30
+ Two styles of configuration are possible:
31
+
32
+ ```ruby
33
+ MethodCacher.configure do |c|
34
+ c.caching_strategy = the_cache_store # Example: ActiveSupport::Cache.lookup_store(:memory_store)
35
+ end
36
+ ```
37
+
38
+ and
39
+
40
+ ```ruby
41
+ MethodCacher.configure do
42
+ config.caching_strategy = the_cache_store # Example: ActiveSupport::Cache.lookup_store(:memory_store)
43
+ end
44
+ ```
45
+
46
+ If used with Rails and no cache store is specified, method_cacher automatically uses the cache store configured with rails
47
+ through a call to `Rails.cache`.
27
48
 
28
49
  ## Usage
29
50
 
30
- Include the method cacher module in the class whose methods you wish to cache.
51
+ Include the `MethodCacher::Base` module in the class whose methods you wish to cache.
31
52
 
32
53
  ```ruby
33
54
  include MethodCacher::Base
@@ -47,13 +68,13 @@ __Options:__
47
68
 
48
69
  + :singleton - Singleton methods to be cached are specified in an array of symbols passed through this option.
49
70
  + :obj\_key - A _proc_ that accepts the cached object as a single parameter. This _proc_ should return a value identifying this object.
50
- If this option is not specified, the object key defaults to the value returned by a method named _id_, which is convenient for usage
71
+ If this option is not specified, the object key defaults to the value returned by an instance method named _id_, which is convenient for usage
51
72
  with ActiveRecord objects.
52
73
 
53
74
  `cache_method` can take any number of instance or singleton methods at once.
54
75
 
55
76
  Subsequent calls to `cache_method` are possible in order to specify additional methods to be cached.
56
- Specifying :obj\_id multiple times results in the last one being used for the class.
77
+ Specifying `:obj_id` multiple times results in the last one being used for the class.
57
78
 
58
79
  `cache_method` can be called _before_ or _after_ the specified methods are defined.
59
80
 
@@ -1,3 +1,3 @@
1
1
  module MethodCacher
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -19,6 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.require_paths = ["lib"]
20
20
  gem.version = MethodCacher::VERSION
21
21
 
22
+ gem.add_development_dependency 'rake'
22
23
  gem.add_development_dependency 'rspec'
23
24
  gem.add_development_dependency 'supermodel'
24
25
  gem.add_development_dependency 'activesupport'
@@ -72,7 +72,6 @@ describe MethodCacher::Base do
72
72
 
73
73
  it "should cache protected INSTANCE methods" do
74
74
  obj = EighthClass.new
75
- debugger
76
75
  lambda { obj.send(:foo1) }.should be_twice_the_same
77
76
  end
78
77
 
@@ -260,5 +260,5 @@ class EighthClass
260
260
  Dummy.function
261
261
  end
262
262
 
263
- #caches_method :foo2, :foo4
263
+ caches_method :foo2, :foo4
264
264
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: method_cacher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-22 00:00:00.000000000Z
12
+ date: 2011-12-23 00:00:00.000000000Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &2152739300 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *2152739300
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: rspec
16
- requirement: &2168539020 !ruby/object:Gem::Requirement
27
+ requirement: &2152738880 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,10 +32,10 @@ dependencies:
21
32
  version: '0'
22
33
  type: :development
23
34
  prerelease: false
24
- version_requirements: *2168539020
35
+ version_requirements: *2152738880
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: supermodel
27
- requirement: &2168538600 !ruby/object:Gem::Requirement
38
+ requirement: &2152738460 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ! '>='
@@ -32,10 +43,10 @@ dependencies:
32
43
  version: '0'
33
44
  type: :development
34
45
  prerelease: false
35
- version_requirements: *2168538600
46
+ version_requirements: *2152738460
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: activesupport
38
- requirement: &2168538180 !ruby/object:Gem::Requirement
49
+ requirement: &2152738040 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ! '>='
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: '0'
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *2168538180
57
+ version_requirements: *2152738040
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: ruby-debug19
49
- requirement: &2168537760 !ruby/object:Gem::Requirement
60
+ requirement: &2152737620 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ! '>='
@@ -54,7 +65,7 @@ dependencies:
54
65
  version: '0'
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *2168537760
68
+ version_requirements: *2152737620
58
69
  description: Easily cache instance and singleton (i.e. class) methods of ActiveRecord
59
70
  or any object.
60
71
  email:
@@ -66,6 +77,7 @@ files:
66
77
  - .gitignore
67
78
  - .rspec
68
79
  - .rvmrc
80
+ - .travis.yml
69
81
  - CHANGELOG.md
70
82
  - Gemfile
71
83
  - Gemfile.lock