Skip to content

Commit

Permalink
some basic code style tweaks. im picky
Browse files Browse the repository at this point in the history
  • Loading branch information
Hampton Catlin committed Jan 22, 2009
1 parent f6d576d commit 5993989
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions lib/cache.rb
@@ -1,21 +1,23 @@
# Simple cache for in memory caching of rendered pages
# Simple cache for in memory caching of rendered def pages
# TODO: Better document this library


class Cache
@@_cache= {}

def self.cache(key, expires)
data= self.read(key)
data = self.read(key)
unless data
data= yield # run action
self.write(key, data, :expires=>expires)
data = yield # run action
self.write(key, data, :expires => expires)
# TODO: Find a better cache expiring strategy that considers when the original page on wikipedia gets updated
end
data
end

def self.read(key)
return unless @@_cache[key]
if @@_cache[key][:expires].nil? || @@_cache[key][:expires]>Time.now
if @@_cache[key][:expires].nil? || (@@_cache[key][:expires] > Time.now)
@@_cache[key][:data]
else
self.expire(key)
Expand All @@ -24,19 +26,20 @@ def self.read(key)

def self.write(key, data, options={})
@@_cache[key] ||= {}
@@_cache[key][:expires]= options[:expires]
@@_cache[key][:data]= data
@@_cache[key][:expires] = options[:expires]
@@_cache[key][:data] = data
end

def self.expire(key)
@@_cache[key]= nil
@@_cache[key] = nil
end

def self.swipe!
@@_cache={}
@@_cache = {}
end

def self.dump
# TODO: Uuuuugly.
puts @@_cache.keys.map{|key| [key, @@_cache[key][:expires], @@_cache[key][:data][0..100]]}.inspect
end
end

0 comments on commit 5993989

Please sign in to comment.