Sha256: e5d26edb1f9c99add3c8afba4305a0b28362098da0eaff9514b666eb47027918
Contents?: true
Size: 1.4 KB
Versions: 79
Compression:
Stored size: 1.4 KB
Contents
require 'yaml' module VCR class Cassette class Serializers # The Syck serializer. Syck is the legacy YAML engine in ruby 1.8 and 1.9. # # @see JSON # @see Psych # @see YAML module Syck extend self extend EncodingErrorHandling # @private ENCODING_ERRORS = [ArgumentError] # The file extension to use for this serializer. # # @return [String] "yml" def file_extension "yml" end # Serializes the given hash using Syck. # # @param [Hash] hash the object to serialize # @return [String] the YAML string def serialize(hash) handle_encoding_errors do using_syck { ::YAML.dump(hash) } end end # Deserializes the given string using Syck. # # @param [String] string the YAML string # @return [Hash] the deserialized object def deserialize(string) handle_encoding_errors do using_syck { ::YAML.load(string) } end end private def using_syck return yield unless defined?(::YAML::ENGINE) original_engine = ::YAML::ENGINE.yamler ::YAML::ENGINE.yamler = 'syck' begin yield ensure ::YAML::ENGINE.yamler = original_engine end end end end end end
Version data entries
79 entries across 79 versions & 9 rubygems