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