lib/vcr/cassette/serializers/psych.rb
require 'psych'
module VCR
class Cassette
class Serializers
# The Psych serializer. Psych is the new YAML engine in ruby 1.9.
#
# @see JSON
# @see Syck
# @see YAML
module Psych
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 Psych.
#
# @param [Hash] hash the object to serialize
# @return [String] the YAML string
def serialize(hash)
handle_encoding_errors do
::Psych.dump(hash)
end
end
# Deserializes the given string using Psych.
#
# @param [String] string the YAML string
# @return [Hash] the deserialized object
def deserialize(string)
handle_encoding_errors do
::Psych.load(string)
end
end
end
end
end
end