fuel-plugin-sensu/deployment_scripts/puppet/files/embedded/lib/ruby/gems/2.3.0/gems/dentaku-2.0.9/lib/dentaku.rb

44 lines
801 B
Ruby

require "bigdecimal"
require "dentaku/calculator"
require "dentaku/version"
module Dentaku
@enable_ast_caching = false
@enable_dependency_order_caching = false
def self.evaluate(expression, data={})
calculator.evaluate(expression, data)
end
def self.enable_caching!
enable_ast_cache!
enable_dependency_order_cache!
end
def self.enable_ast_cache!
@enable_ast_caching = true
end
def self.cache_ast?
@enable_ast_caching
end
def self.enable_dependency_order_cache!
@enable_dependency_order_caching = true
end
def self.cache_dependency_order?
@enable_dependency_order_caching
end
private
def self.calculator
@calculator ||= Dentaku::Calculator.new
end
end
def Dentaku(expression, data={})
Dentaku.evaluate(expression, data)
end