Class: Puppet::Pops::Serialization::ToStringifiedConverter

Inherits:
Object
  • Object
show all
Includes:
Evaluator::Runtime3Support
Defined in:
lib/puppet/pops/serialization/to_stringified_converter.rb

Overview

Class that can process an arbitrary object into a value that is assignable to ‘Data` and where contents is converted from rich data to one of:

  • Numeric (Integer, Float)

  • Boolean

  • Undef (nil)

  • String

  • Array

  • Hash

The conversion is lossy - the result cannot be deserialized to produce the original data types. All rich values are transformed to strings.. Hashes with rich keys are transformed to use string representation of such keys.

Constant Summary

Constants included from Evaluator::Runtime3Support

Evaluator::Runtime3Support::NAME_SPACE_SEPARATOR

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Evaluator::Runtime3Support

#add_relationship, #call_function, #capitalize_qualified_name, #coerce_numeric, #create_local_scope_from, #create_match_scope_from, #create_resource_defaults, #create_resource_overrides, #create_resource_parameter, #create_resources, #diagnostic_producer, #external_call_function, #extract_file_line, #fail, #find_resource, #get_resource_parameter_value, #get_scope_nesting_level, #get_variable_value, #is_parameter_of_resource?, #is_true?, #optionally_fail, #runtime_issue, #set_match_data, #set_scope_nesting_level, #set_variable, #variable_bound?, #variable_exists?

Constructor Details

#initialize(options = EMPTY_HASH) ⇒ ToStringifiedConverter

Creates a new instance of the processor

Parameters:

  • options (Symbol => Object) (defaults to: EMPTY_HASH)

    options hash

  • semantic (Hash)

    a customizable set of options

Options Hash (options):

  • :message_prefix (String)

    String to prepend to path in warnings and errors

 40 41 42 43
# File 'lib/puppet/pops/serialization/to_stringified_converter.rb', line 40 def initialize(options = EMPTY_HASH) @message_prefix = options[:message_prefix] @semantic = options[:semantic] end 

Class Method Details

.convert(value, options = EMPTY_HASH) ⇒ Data

Converts the given value according to the given options and return the result of the conversion

Parameters:

  • value (Object)

    the value to convert

  • options (Symbol => <Boolean,String>) (defaults to: EMPTY_HASH)

    options hash

Options Hash (options):

  • :message_prefix (String)

    String to prepend to in warnings and errors

  • :semantic (String)

    object (AST) to pass to the issue reporter

Returns:

  • (Data)

    the processed result. An object assignable to ‘Data` with rich data stringified.

 31 32 33
# File 'lib/puppet/pops/serialization/to_stringified_converter.rb', line 31 def self.convert(value, options = EMPTY_HASH) new(options).convert(value) end 

Instance Method Details

#convert(value) ⇒ Data

Converts the given value

Parameters:

  • value (Object)

    the value to convert

Returns:

  • (Data)

    the processed result. An object assignable to ‘Data` with rich data stringified.

 51 52 53 54 55
# File 'lib/puppet/pops/serialization/to_stringified_converter.rb', line 51 def convert(value) @path = [] @values = {} to_data(value) end