module Pione::Util::Evaluatable
Evaluatable
is a module for providing to ability to evaluate PIONE expression string.
Public Instance Methods
val(str, domain_dump=nil)
click to toggle source
Evaluate the string as a PIONE expression and get the result value as a textized string.
@param str [String]
a PIONE expression
@param domain_dump [DomainDump]
a domain dump object
@return [String]
the result of evaluation as an embeddable string
# File lib/pione/util/evaluatable.rb, line 30 def val(str, domain_dump=nil) env = domain_dump ? domain_dump.env : Lang::Environment.new val!(str, domain_dump).call_pione_method(env, "textize", []).first.value end
val!(str, domain_dump=nil)
click to toggle source
Evaluate the string as a PIONE expression and get the result value as model object.
@param str [String]
a PIONE expression
@param domain_dump [DomainDump]
a domain dump object
@return [Object]
the evaluation value
# File lib/pione/util/evaluatable.rb, line 14 def val!(str, domain_dump=nil) env = domain_dump ? domain_dump.env : Lang::Environment.new option = {package_name: env.current_package_id, filename: "pione-eval"} Lang::DocumentTransformer.new.apply( Lang::DocumentParser.new.expr.parse(str), option ).eval(env) end