Class: Romanesco::Validators::CharacterValidator

Inherits:
Validator
  • Object
show all
Defined in:
lib/romanesco/validators/character_validator.rb

Instance Attribute Summary

Attributes inherited from Validator

#next_step

Instance Method Summary collapse

Methods inherited from Validator

#execute, #initialize

Constructor Details

This class inherits a constructor from Romanesco::Validators::Validator

Instance Method Details

#validate(raw_expression) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/romanesco/validators/character_validator.rb', line 7

def validate(raw_expression)
  regex = /^[\w\s\-\*\+\/\(\)\.,]*$/

  no_whitespace = raw_expression.gsub(/\s+/, '')
  raise InvalidExpressionError.new('Empty expression') if raw_expression.nil? || no_whitespace.empty?
  raise InvalidExpressionError.new('Illegal characters found') unless regex =~ raw_expression

  raw_expression
end