Class: Eqn::Calculator
- Inherits:
-
Object
- Object
- Eqn::Calculator
- Defined in:
- lib/eqn/calculator.rb
Class Method Summary collapse
Class Method Details
.calc(data, vars = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/eqn/calculator.rb', line 4 def calc(data, vars = {}) @@vars = vars begin result = Parser.parse(data).value fail ZeroDivisionError if result.is_a?(Float) && (result.abs == Float::INFINITY || result.nan?) result ensure @@vars = nil end end |
.valid?(data, vars = {}) ⇒ Boolean
15 16 17 18 19 20 |
# File 'lib/eqn/calculator.rb', line 15 def valid?(data, vars = {}) calc(data, vars) true rescue NonNumericVariableError, NoVariableValueError, ParseError, ZeroDivisionError false end |