Exemplo n.º 1
0
exports.viewEngine.addEngine('mustache', function(str, opts, cache, viewEngine) {
  var partialPromises = []
    , partials = {}
    , viewPath;
  
  opts = _.extend({}, opts);

  if (opts.partials) {
    for (var k in opts.partials) {
      viewPath = path.join(viewEngine.views, opts.partials[k]);
      
      partialPromises.push(when(viewEngine.viewCache[viewPath] || viewEngine.cacheView(viewPath), function(str) {
        partials[k] = str;
        return str;
      }));
    }

    return promise.all(partialPromises).then(function() {
      delete opts.partials;

      return require('mustache').to_html(str, opts.locals, partials);
    });
  }

  return require('mustache').to_html(str, opts.locals);
});
Exemplo n.º 2
0
exports["test should replicate"] = test(function() {
  var response
    , db1 = client.db(DB_NAME)
    , db2 = client.db(DB_NAME2);
  
  return Q.all([ db1.create(), db2.create() ]).then(function() {

    return client.replicate(DB_NAME, DB_NAME2)
          .then(function(resp) {
            assert.ok(resp, 'Should have received a response');
            assert.ok(!resp.error, 'Response should not contain an error: '+JSON.stringify(response));
          })
          .then(function() {
            db1.remove();
            db2.remove();
          });

  }, function(err) {
    var reason = '';
    if (err && err.reason) {
      reason = err.reason;
    }

    throw 'Error creating databases: '+reason;
  });
});
Exemplo n.º 3
0
exports.setup = function(done) {
  db  = client.db(DB_NAME);
  db2 = client.db(DB_NAME2);

  var db2Promise = db2.exists().then(function(exists) {
    if (exists) {
      return db2.remove().then(null, function(err) {
        if (err.error !== 'not_found') {
          throw err;
        }
      });
    }
  }, function(err) {
    console.log('unable to delete db', err.message, err.stack);
  });

  var dbPromise = db.exists().then(function(exists) {
    if (exists) {
      return db.remove().then(null, function(err) {
        if (err.error !== 'not_found') {
          throw err;
        }
      });
    }
  }, function(err) {
    console.log('unable to delete db', err.message, err.stack);
  });

  Q.all([ db2Promise, dbPromise ]).then(done, function(err) {
    done();
  });
};
Exemplo n.º 4
0
 /**
  * Convenience array style version of getResource.
  * 
  * @param {String[]} urls URL to resource
  * @return {Promise} Promise, is resolved once all resources are loaded
  * @public
  */
 function getResources(urls) {
     var defer = mod_promise.defer();
     var self = this;
     mod_promise.all(urls.map(function (item) {
                         return self.getResource(item);
                     }))
                     .then(function (all) {
                         defer.resolve(all);
                     });
     return defer.promise;
 }