text: 
  /*!
   * gzippo - MemoryStore
   *
   * MIT Licensed
   */
  
  var Store = require('./store'),
      util = require('util');
  
  /**
   * new `MemoryStore`.
   *
   * @api public
   */
  
  var MemoryStore = module.exports = function MemoryStore() {
    Store.call(this);
    this.assets = {};
  };
  
  util.inherits(MemoryStore, Store);
  
  /**
   * Attempt to fetch an asset by its filename - `file`.
   *
   * @param {String} fileName
   * @param {Function} cb
   * @api public
   */
  
  MemoryStore.prototype.get = function(fileName, cb) {
    var that = this;
    process.nextTick(function(){
      var expires,
          asset = that.assets[fileName];
      if (asset) {
        // expires = (typeof asset.expires === 'string') ?
        //   +Date.parse(asset.expires) :
        //   asset.expires;
        // if (!expires || +Date.now() < expires) {
          cb(null, asset);
        // } else {
        //   that.purgeFile(file, cb);
        // }
      } else {
        cb();
      }
    });
  };
  
  /**
   *
   * @param {FileAsset} asset
   * @param {Function} cb
   * @api public
   */
  
  MemoryStore.prototype.set = function(asset, cb) {
    var that = this;
    process.nextTick(function() {
      that.assets[asset.name] = asset.data;
      if(cb instanceof Function) cb();
    });
  };
  
  /**
   * purge the cache
   *
   * @param {Function} cb
   * @api public
   */
  
  MemoryStore.prototype.purge = function(cb){
    this.assets = {};
    if(cb instanceof Function) cb();
  };
  
  /**
   * purge the an item from thecache
   *
   * @param {FileAsset} asset
   * @param {Function} cb
   * @api public
   */
  
  MemoryStore.prototype.purgeFile = function(asset, cb){
    process.nextTick(function() {
      delete this.assets[asset.name];
      if(cb instanceof Function) cb();
    });
  };
  
  /**
   * Fetch number of cached files.
   *
   * @param {Function} fn
   * @api public
   */
  
  MemoryStore.prototype.length = function(cb){
    cb(null, Object.keys(this.assets).length);
  };