Class: Ruby::Rego::Evaluator::TemplateValueFormatter
- Inherits:
-
Object
- Object
- Ruby::Rego::Evaluator::TemplateValueFormatter
- Defined in:
- lib/ruby/rego/evaluator/expression_evaluator.rb
Overview
Formats template string values using a stable JSON representation.
Instance Method Summary collapse
-
#canonical_value ⇒ Object
-
#initialize(value) ⇒ TemplateValueFormatter
constructor
A new instance of TemplateValueFormatter.
-
#render ⇒ String
Constructor Details
#initialize(value) ⇒ TemplateValueFormatter
Returns a new instance of TemplateValueFormatter.
473 474 475 |
# File 'lib/ruby/rego/evaluator/expression_evaluator.rb', line 473 def initialize(value) @value = value end |
Instance Method Details
#canonical_value ⇒ Object
488 489 490 491 492 493 494 495 |
# File 'lib/ruby/rego/evaluator/expression_evaluator.rb', line 488 def canonical_value case value when Hash then canonicalize_hash when Array then canonicalize_array when Set then canonicalize_set else value end end |
#render ⇒ String
478 479 480 481 482 483 484 485 |
# File 'lib/ruby/rego/evaluator/expression_evaluator.rb', line 478 def render case value when NilClass then "null" when String then value when Array, Hash, Set then JSON.generate(canonical_value) else value.to_s end end |