class AWS::Flow::YAMLDataConverter
Converts an object to YAML. Exceptions are handled differently because YAML doesn’t propagate backtraces properly, and they are very handy for debugging.
Public Instance Methods
dump(object)
click to toggle source
Serializes a ruby object into a YAML string.
@param object
The object that needs to be serialized into a string.
# File lib/aws/decider/data_converter.rb, line 27 def dump(object) if object.is_a? Exception return YAML.dump_stream(object, object.backtrace) end object.to_yaml end
load(source)
click to toggle source
Deserializes a YAML string into a ruby object.
@param source
The source YAML string that needs to be deserialized into a ruby object.
# File lib/aws/decider/data_converter.rb, line 39 def load(source) return nil if source.nil? output = YAML.load source if output.is_a? Exception documents = YAML.load_stream(source) if YAML.const_defined?(:ENGINE) && YAML::ENGINE.yamler == 'syck' documents = documents.documents end backtrace = documents.find {|x| ! x.is_a? Exception} output.set_backtrace(backtrace.to_a) end output end