Module: VCR::Cassette::Serializers::Xsyck

Extended by:
EncodingErrorHandling, Xsyck
Included in:
Xsyck
Defined in:
lib/vcr/cassette/serializers/xsyck.rb

Constant Summary collapse

ENCODING_ERRORS =
[ArgumentError]

Instance Method Summary collapse

Instance Method Details

#deserialize(string) ⇒ Object



14
15
16
17
18
# File 'lib/vcr/cassette/serializers/xsyck.rb', line 14

def deserialize(string)
  handle_encoding_errors do
    ::Syck.load(string)
  end
end

#file_extensionObject



10
11
12
# File 'lib/vcr/cassette/serializers/xsyck.rb', line 10

def file_extension
  "yml"
end

#serialize(hash) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/vcr/cassette/serializers/xsyck.rb', line 20

def serialize(hash)
  hash['http_interactions'].each do |i|
    pretty_xml i['request']['body']['string'] if /<\?xml/.match i['request']['body']['string']
    pretty_xml i['response']['body']['string'] if /<\?xml/.match i['response']['body']['string']
  end
  handle_encoding_errors do
    ::Syck.dump(hash)
  end
end