module.exports = class NumericalityValidator
	@detectBy: ['numericality']
	
	constructor: (@params) ->
	
	validate: (value, valid) ->
		if @params.numericality and 'number' is typeof value
			if @params.numericality.onlyInteger
				if parseInt(value) is value
					if @params.numericality.value
						NumberValueValidator = require './number_value'
						(new NumberValueValidator(value: @params.numericality.value)).validate value, valid
					else valid yes
				else valid no, 'is not integer'
			else valid yes
		else valid no, 'is not number'