module Grass::Cache
Public Class Methods
included(base)
click to toggle source
# File lib/grass/cache.rb, line 24 def self.included(base) base.extend ClassMethods base.send :after_destroy, :clear_cache end
Public Instance Methods
cache!()
click to toggle source
# File lib/grass/cache.rb, line 36 def cache! set_cache end
clear_cache()
click to toggle source
# File lib/grass/cache.rb, line 53 def clear_cache Grass.cache.delete self.class.generate_cachekey(self.key.fullpath,self.data) rescue nil end
commit!(result = nil)
click to toggle source
Calls superclass method
# File lib/grass/cache.rb, line 29 def commit! result = nil # clear_cache if precompile? super(result) set_cache if precompile? self end
precompile?()
click to toggle source
# File lib/grass/cache.rb, line 40 def precompile? self.binary.nil? && (self.type == "script" || self.type == "stylesheet") end
set_cache()
click to toggle source
# File lib/grass/cache.rb, line 46 def set_cache Grass.cache.set( self.class.generate_cachekey(self.key.fullpath,self.data), JSON.dump([self.mime_type, self.read].flatten) ) end