Class: ActsAsCalculator::PersistRun
- Inherits:
-
Object
- Object
- ActsAsCalculator::PersistRun
- Defined in:
- lib/acts_as_calculator/persist_run.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(calculable:, formula_version:, result:, as_of: nil) ⇒ PersistRun
constructor
A new instance of PersistRun.
Constructor Details
#initialize(calculable:, formula_version:, result:, as_of: nil) ⇒ PersistRun
Returns a new instance of PersistRun.
9 10 11 12 13 14 |
# File 'lib/acts_as_calculator/persist_run.rb', line 9 def initialize(calculable:, formula_version:, result:, as_of: nil) @calculable = calculable @formula_version = formula_version @result = result @as_of = CastDate.(as_of || result.as_of || Date.current) end |
Class Method Details
.call ⇒ Object
5 6 7 |
# File 'lib/acts_as_calculator/persist_run.rb', line 5 def self.call(...) new(...).call end |
Instance Method Details
#call ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/acts_as_calculator/persist_run.rb', line 16 def call Run.create!( calculable:, formula_version:, as_of_date: as_of, inputs: CastJsonSafe.(result.inputs), breakdown: CastJsonSafe.(result.breakdown), result: result.value ) end |