Class: ZenRuby::ZenDecisionResult
- Inherits:
-
Struct
- Object
- Struct
- ZenRuby::ZenDecisionResult
- Defined in:
- lib/zen-engine-ruby.rb
Instance Attribute Summary collapse
-
#details ⇒ Object
Returns the value of attribute details.
-
#error ⇒ Object
Returns the value of attribute error.
-
#error_code ⇒ Object
Returns the value of attribute error_code.
-
#result ⇒ Object
Returns the value of attribute result.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#details ⇒ Object
Returns the value of attribute details
242 243 244 |
# File 'lib/zen-engine-ruby.rb', line 242 def details @details end |
#error ⇒ Object
Returns the value of attribute error
242 243 244 |
# File 'lib/zen-engine-ruby.rb', line 242 def error @error end |
#error_code ⇒ Object
Returns the value of attribute error_code
242 243 244 |
# File 'lib/zen-engine-ruby.rb', line 242 def error_code @error_code end |
#result ⇒ Object
Returns the value of attribute result
242 243 244 |
# File 'lib/zen-engine-ruby.rb', line 242 def result @result end |
Class Method Details
.from_raw_result(raw_result) ⇒ Object
260 261 262 263 264 265 266 |
# File 'lib/zen-engine-ruby.rb', line 260 def self.from_raw_result(raw_result) if raw_result[:error] == 0 ZenDecisionResult.new(raw_result[:result], false, 0, nil) else ZenDecisionResult.new(nil, true, raw_result[:error], raw_result[:details].null? ? nil : raw_result[:details].read_string) end end |
Instance Method Details
#evaluate(context, trace: false, max_depth: 10) ⇒ Object
243 244 245 246 247 248 249 250 251 252 253 254 |
# File 'lib/zen-engine-ruby.rb', line 243 def evaluate(context, trace: false, max_depth: 10) if error raise "Error evaluating decision for #{key}: #{error_code} #{details}" end = ZenEngineEvaluationOptions.new [:trace] = trace [:max_depth] = max_depth raw_result = ZenRuby.zen_decision_evaluate(result, context.to_json, ) ZenRuby::Result.from_raw_result(raw_result) end |
#evaluate! ⇒ Object
256 257 258 |
# File 'lib/zen-engine-ruby.rb', line 256 def evaluate!(...) ZenRuby.unwrap_result!(evaluate(...)) end |