Sha256: f41fcf62c5e8bc443d607138aeac7837b903cfc11646102b74e527b915540dc5
Contents?: true
Size: 1.41 KB
Versions: 5
Compression:
Stored size: 1.41 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 # @param [Hash] 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
5 entries across 5 versions & 1 rubygems