convert viewHelpers to helpers, for other util functions in there.

some template code for next schema update
This commit is contained in:
Tyler Renelle 2012-07-30 17:25:04 -04:00
parent 035a705805
commit b2c9035ca9
6 changed files with 49 additions and 21 deletions

View file

@ -1,6 +1,14 @@
// Generated by CoffeeScript 1.3.3
module.exports = function(view) {
module.exports.daysBetween = function(a, b) {
var DAY;
DAY = 1000 * 60 * 60 * 24;
a = new Date((new Date(a)).toDateString());
b = new Date((new Date(b)).toDateString());
return Math.floor((a.getTime() - b.getTime()) / DAY);
};
module.exports.viewHelpers = function(view) {
view.fn('taskClasses', function(type, completed, value) {
var classes;
classes = type;

View file

@ -1,5 +1,5 @@
// Generated by CoffeeScript 1.3.3
var content, derby, get, getHabits, ready, schema, scoring, view, _ref;
var content, derby, get, getHabits, helpers, ready, schema, scoring, view, _ref;
derby = require('derby');
@ -15,7 +15,9 @@ scoring = require('./scoring');
schema = require('./schema');
require('./viewHelpers')(view);
helpers = require('./helpers');
helpers.viewHelpers(view);
get('/:uidParam?', function(page, model, _arg) {
var uidParam;

View file

@ -21,4 +21,17 @@ module.exports.userSchema = userSchema = {
rewardIds: []
};
module.exports.updateSchema = function(model) {};
module.exports.updateSchema = function(model) {
var daysOld, uid, userObj, users, _results;
users = model.get('users');
console.log(_.size(users), 'users.size before');
_results = [];
for (uid in users) {
userObj = users[uid];
if (userObj.lastCron == null) {
model.del("users." + uid);
}
_results.push(daysOld = require('./helpers').daysBetween(userObj.lastCron, new Date()));
}
return _results;
};

View file

@ -1,4 +1,12 @@
module.exports = (view) ->
module.exports.daysBetween = (a, b) ->
DAY = 1000 * 60 * 60 * 24
# calculate as midnight
a = new Date( (new Date(a)).toDateString() )
b = new Date( (new Date(b)).toDateString() )
return Math.floor((a.getTime() - b.getTime()) / DAY)
module.exports.viewHelpers = (view) ->
view.fn 'taskClasses', (type, completed, value) ->
#TODO figure out how to just pass in the task model, so i can access all these properties from one object
classes = type

View file

@ -7,7 +7,8 @@ derby.use(require('../../ui'))
content = require('./content')
scoring = require('./scoring')
schema = require('./schema')
require('./viewHelpers')(view)
helpers = require('./helpers')
helpers.viewHelpers(view)
# ========== ROUTES ==========

View file

@ -11,19 +11,15 @@ module.exports.userSchema = userSchema = {
}
module.exports.updateSchema = (model) ->
# users = model.get('users')
# console.log _.size(users), 'users.size before'
# for uid,userObj of users
# # remove if they don't have a lastCron (older accounts didn't)
# unless userObj.lastCron?
# model.del "users.#{uid}"
#
# # remove if they haven't logged in in 30 days
# lastCron = new Date( (new Date(userObj.lastCron)).toDateString() ) # calculate as midnight
# today = new Date((new Date).toDateString()) # calculate as midnight
# DAY = 1000 * 60 * 60 * 24
# daysPassed = Math.floor((today.getTime() - lastCron.getTime()) / DAY)
# if daysPassed > 30
# model.del "users.#{uid}"
users = model.get('users')
console.log _.size(users), 'users.size before'
for uid,userObj of users
# remove if they don't have a lastCron (older accounts didn't)
unless userObj.lastCron?
model.del "users.#{uid}"
# TODO remove all users who's tasks compare directly to require('./content).defaultTasks
# and haven't logged in for a week
daysOld = require('./helpers').daysBetween(userObj.lastCron, new Date())
# TODO instead of the above, remove all users who's tasks compare directly to require('./content).defaultTasks