Class: ActsAsCalculator::CalculatorCache
- Inherits:
-
Object
- Object
- ActsAsCalculator::CalculatorCache
- Defined in:
- lib/acts_as_calculator/calculator_cache.rb
Class Method Summary collapse
Instance Method Summary collapse
- #clear ⇒ Object
- #fetch(formula_version_id) ⇒ Object
-
#initialize(functions: FunctionRegistry.default) ⇒ CalculatorCache
constructor
A new instance of CalculatorCache.
Constructor Details
#initialize(functions: FunctionRegistry.default) ⇒ CalculatorCache
Returns a new instance of CalculatorCache.
9 10 11 12 |
# File 'lib/acts_as_calculator/calculator_cache.rb', line 9 def initialize(functions: FunctionRegistry.default) @functions = functions @key = :"acts_as_calculator_calculators_#{object_id}" end |
Class Method Details
.default ⇒ Object
5 6 7 |
# File 'lib/acts_as_calculator/calculator_cache.rb', line 5 def self.default @default ||= new end |
Instance Method Details
#clear ⇒ Object
20 21 22 |
# File 'lib/acts_as_calculator/calculator_cache.rb', line 20 def clear store.clear end |
#fetch(formula_version_id) ⇒ Object
14 15 16 17 18 |
# File 'lib/acts_as_calculator/calculator_cache.rb', line 14 def fetch(formula_version_id) raise ArgumentError, "a calculator cache key must be a formula_version_id" if formula_version_id.nil? store[formula_version_id] ||= BuildCalculator.(functions:) end |