Переглянути джерело

REFS DEVOPS-253 Added v2.5 compatibility

David Aebersold 12 роки тому
батько
коміт
989870a438

+ 11 - 9
lib/pipeline/expressions/MinuteExpression.js

@@ -2,33 +2,35 @@
 
 /** 
  * An $minute pipeline expression. 
- * @see evaluate 
+ * @see evaluateInternal 
  * @class MinuteExpression
  * @namespace mungedb-aggregate.pipeline.expressions
  * @module mungedb-aggregate
  * @constructor
  **/
 var MinuteExpression = module.exports = function MinuteExpression(){
+	this.fixedArity(1);
 	if (arguments.length !== 0) throw new Error("zero args expected");
 	base.call(this);
 }, klass = MinuteExpression, base = require("./NaryExpression"), proto = klass.prototype = Object.create(base.prototype, {constructor:{value:klass}});
 
+// DEPENDENCIES
+var Expression = require("./Expression");
+
 // PROTOTYPE MEMBERS
 proto.getOpName = function getOpName(){
 	return "$minute";
 };
 
-proto.addOperand = function addOperand(expr) {
-	this.checkArgLimit(1);
-	base.prototype.addOperand.call(this, expr);
-};
-
 /** 
  * Takes a date and returns the minute between 0 and 59. 
- * @method evaluate
+ * @method evaluateInternal
  **/
-proto.evaluate = function evaluate(doc){
+proto.evaluateInternal = function evaluateInternal(doc){
 	this.checkArgCount(1);
-	var date = this.operands[0].evaluate(doc);
+	var date = this.operands[0].evaluateInternal(doc);
 	return date.getUTCMinutes();
 };
+
+/** Register Expression */
+Expression.registerExpression("$minute",MinuteExpression.parse);

+ 2 - 2
test/lib/pipeline/expressions/MinuteExpression.js

@@ -34,10 +34,10 @@ module.exports = {
 
 		},
 
-		"#evaluate()": {
+		"#evaluateInternal()": {
 
 			"should return minute; 47 for 2013-02-18 3:47 pm": function testStuff(){
-				assert.strictEqual(Expression.parseOperand({$minute:"$someDate"}).evaluate({someDate:new Date("2013-02-18T15:47:00.000Z")}), 47);
+				assert.strictEqual(Expression.parseOperand({$minute:"$someDate"}).evaluateInternal({someDate:new Date("2013-02-18T15:47:00.000Z")}), 47);
 			}
 
 		}