Class: VcrBetterBinary::Serializer

Inherits:
Object
  • Object
show all
Defined in:
lib/vcr_better_binary/serializer.rb

Constant Summary collapse

BIN_KEY =
"bin_key"

Instance Method Summary collapse

Constructor Details

#initialize(base_serializer: VCR::Cassette::Serializers::YAML) ⇒ Serializer

Returns a new instance of Serializer.



10
11
12
# File 'lib/vcr_better_binary/serializer.rb', line 10

def initialize(base_serializer: VCR::Cassette::Serializers::YAML)
  @base_serializer = base_serializer
end

Instance Method Details

#deserialize(string) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/vcr_better_binary/serializer.rb', line 26

def deserialize(string)
  data = base_serializer.deserialize(string)

  yield_http_bodies(data) do |body|
    restore_binary_body_data(body)
  end

  data
end

#file_extensionObject



14
15
16
# File 'lib/vcr_better_binary/serializer.rb', line 14

def file_extension
  base_serializer.file_extension
end

#prune_bin_dataObject



36
37
38
39
40
41
# File 'lib/vcr_better_binary/serializer.rb', line 36

def prune_bin_data
  Pruner.new.prune_bin_data(
    bin_data_dir: bin_data_dir,
    cassette_http_bodies: all_cassette_http_bodies
  )
end

#serialize(data) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/vcr_better_binary/serializer.rb', line 18

def serialize(data)
  yield_http_bodies(data) do |body|
    stash_binary_body_data(body)
  end

  base_serializer.serialize(data)
end