Class: ActsAsCalculator::EvaluateExpression

Inherits:
Object
  • Object
show all
Defined in:
lib/acts_as_calculator/evaluate_expression.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(expression:, inputs: {}, calculator: nil, formula_version: nil, as_of: nil) ⇒ EvaluateExpression

Returns a new instance of EvaluateExpression.



11
12
13
14
15
16
17
# File 'lib/acts_as_calculator/evaluate_expression.rb', line 11

def initialize(expression:, inputs: {}, calculator: nil, formula_version: nil, as_of: nil)
  @expression = expression
  @inputs = inputs
  @calculator = calculator
  @formula_version = formula_version
  @as_of = as_of
end

Class Method Details

.callObject



7
8
9
# File 'lib/acts_as_calculator/evaluate_expression.rb', line 7

def self.call(...)
  new(...).call
end

Instance Method Details

#callObject



19
20
21
22
23
# File 'lib/acts_as_calculator/evaluate_expression.rb', line 19

def call
  value = evaluate

  Result.new(value:, breakdown: breakdown_for(value), formula_version:, as_of:)
end