Sha256: 02c5f9c19c441fa1298271ccd62cf3786b095eab4403c4cbe47b727cd9f59b0a

Contents?: true

Size: 1.01 KB

Versions: 7

Compression:

Stored size: 1.01 KB

Contents

/*
---

name: Number

description: Contains Number Prototypes like limit, round, times, and ceil.

license: MIT-style license.

requires: Type

provides: Number

...
*/

Number.implement({

	limit: function(min, max){
		return Math.min(max, Math.max(min, this));
	},

	round: function(precision){
		precision = Math.pow(10, precision || 0).toFixed(precision < 0 ? -precision : 0);
		return Math.round(this * precision) / precision;
	},

	times: function(fn, bind){
		for (var i = 0; i < this; i++) fn.call(bind, i, this);
	},

	toFloat: function(){
		return parseFloat(this);
	},

	toInt: function(base){
		return parseInt(this, base || 10);
	}

});

Number.alias('each', 'times');

(function(math){
	var methods = {};
	math.each(function(name){
		if (!Number[name]) methods[name] = function(){
			return Math[name].apply(null, [this].concat(Array.from(arguments)));
		};
	});
	Number.implement(methods);
})(['abs', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'exp', 'floor', 'log', 'max', 'min', 'pow', 'sin', 'sqrt', 'tan']);

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lsd_rails-0.1.6 Packages/mootools-core/Source/Types/Number.js
lsd_rails-0.1.5 Packages/mootools-core/Source/Types/Number.js
lsd_rails-0.1.4 Packages/mootools-core/Source/Types/Number.js
lsd_rails-0.1.3 Packages/mootools-core/Source/Types/Number.js
lsd_rails-0.1.2 Packages/mootools-core/Source/Types/Number.js
lsd_rails-0.1.1 Packages/mootools-core/Source/Types/Number.js
lsd_rails-0.1 Packages/mootools-core/Source/Types/Number.js