wallet 0.0.3 → 0.0.4

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.
Files changed (4) hide show
  1. data/README.rdoc +4 -1
  2. data/lib/wallet.rb +0 -1
  3. data/lib/wallet/wallet.rb +10 -4
  4. metadata +20 -9
@@ -13,12 +13,15 @@ that could allow site administrators of your app to manage the TTL's from anywhe
13
13
 
14
14
  To add wallet to your RAILS app, add a config.gem line like the following to the Rails::Initializer section of your environment.rb:
15
15
 
16
- config.gem "wallet", :lib => 'wallet', :version => '>=0.0.2', :source => "http://gemcutter.org"
16
+ config.gem "wallet", :lib => 'wallet', :version => '>=0.0.3', :source => "http://gemcutter.org"
17
17
 
18
18
  Then install the missing gem:
19
19
 
20
20
  bash$ sudo rake gems:install
21
21
 
22
+ Lastly, create an initializer that conditionally loads wallet (e.g., RAILS_ROOT/initializers/wallet.rb)
23
+
24
+ Wallet.load_from_config # will load from RAILS_ROOT/config/wallet.yml by default.
22
25
 
23
26
  ==Usage
24
27
 
@@ -1,2 +1 @@
1
1
  require 'wallet/wallet'
2
- Wallet.new((File.open(RAILS_ROOT + "/config/wallet.yml") rescue "")) if defined?(RAILS_ROOT)
@@ -3,6 +3,14 @@
3
3
 
4
4
  class Wallet
5
5
 
6
+ class << self
7
+ # Attempts to read and load the configuration file (RAILS_ROOT/config/wallet.yml by default)
8
+ def load_from_config(config_file=nil)
9
+ config_file = RAILS_ROOT + "/config/wallet.yml" unless config_file
10
+ new((File.open(config_file) rescue ""))
11
+ end
12
+ end
13
+
6
14
  # This error gets thrown whenever you attempt to retreive a TTL
7
15
  # for an action that's not in the wallet.
8
16
  class ActionNotCached < StandardError
@@ -108,13 +116,11 @@ class Wallet
108
116
 
109
117
  def setup_action_caching
110
118
  @config.each do |controller, actions|
111
- begin
112
- controller_class = (controller + "_controller").camelize.constantize
119
+ controller_class = (controller + "_controller").camelize.constantize rescue nil
120
+ if controller_class
113
121
  cached_actions(controller).each do |action|
114
122
  controller_class.send :caches_action, action.to_sym, :expires_in => ttl(controller, action)
115
123
  end
116
- rescue Exception => e
117
- #raise UnknownController.new("We're sorry, but the controller '#{(controller + "_controller").camelize}' does not exist in app/controllers/")
118
124
  end
119
125
  end
120
126
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wallet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 4
9
+ version: 0.0.4
5
10
  platform: ruby
6
11
  authors:
7
12
  - Matt Parker
@@ -9,19 +14,23 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-12-02 00:00:00 -05:00
17
+ date: 2010-04-05 00:00:00 -04:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rails
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 2
29
+ - 3
30
+ - 3
23
31
  version: 2.3.3
24
- version:
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  description: Wallet is a rails gem that allows you to manage all of your action caching configuration in a single yaml file. Supports TTLs.
26
35
  email: moonmaster9000@gmail.com
27
36
  executables: []
@@ -47,18 +56,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
47
56
  requirements:
48
57
  - - ">="
49
58
  - !ruby/object:Gem::Version
59
+ segments:
60
+ - 0
50
61
  version: "0"
51
- version:
52
62
  required_rubygems_version: !ruby/object:Gem::Requirement
53
63
  requirements:
54
64
  - - ">="
55
65
  - !ruby/object:Gem::Version
66
+ segments:
67
+ - 0
56
68
  version: "0"
57
- version:
58
69
  requirements: []
59
70
 
60
71
  rubyforge_project:
61
- rubygems_version: 1.3.5
72
+ rubygems_version: 1.3.6
62
73
  signing_key:
63
74
  specification_version: 3
64
75
  summary: Centralized YAML configuration for action caching.