GitHub Sale: sign up for any paid plan this week and pay nothing until January 1, 2009!  [ hide ]

public
Rubygem
Description: Resource-oriented open source Ruby framework for Web apps.
Homepage: http://rubywaves.com/
Clone URL: git://github.com/dyoder/waves.git
File cache layer passes verification suite.
ab5tract (author)
Wed Sep 24 12:41:10 -0700 2008
automatthew (committer)
Wed Sep 24 13:13:32 -0700 2008
commit  971e1abfc58e2273529f3a1127e777677b1ecc3e
tree    1e54b5d6504cb82102fe3ffca9dc52e20049450d
parent  bb9dd1a8fc65cdcb32387e4966bc1b8b2b0a1ef0
...
26
27
28
29
30
 
 
31
32
33
...
48
49
50
51
 
52
53
54
 
 
55
56
57
 
 
58
59
60
...
26
27
28
 
 
29
30
31
32
33
...
48
49
50
 
51
52
53
 
54
55
56
57
58
59
60
61
62
63
0
@@ -26,8 +26,8 @@ module Waves
0
       end
0
 
0
       def delete(*keys)
0
- keys.each do |key|
0
- Waves.synchronize do
0
+ Waves.synchronize do
0
+ keys.each do |key|
0
             if @keys.include? key
0
               ::File.delete(@directory / key)
0
               @keys.delete key
0
@@ -48,13 +48,16 @@ module Waves
0
       def fetch(key)
0
         Waves.synchronize do
0
 
0
- raise KeyMissing unless item = ::Marshal.load(::File.new(@directory / key))
0
+ item = ::Marshal.load(::File.new(@directory / key))
0
 
0
           if item[:expires] and item[:expires] < Time.now
0
- (::File.delete(@directory / key) and @keys.delete key) and raise KeyExpired
0
+ ::File.delete(@directory / key)
0
+ @keys.delete key and raise KeyExpired
0
           end
0
           item[:value]
0
         end
0
+ rescue Errno::ENOENT
0
+ raise KeyMissing
0
       end
0
 
0
     end

Comments

    No one has commented yet.