Method: ActiveSupport::Cache::SerializerWithFallback#load

Defined in:
activesupport/lib/active_support/cache/serializer_with_fallback.rb

#load(dumped) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'activesupport/lib/active_support/cache/serializer_with_fallback.rb', line 17

def load(dumped)
  if dumped.is_a?(String)
    case
    when MessagePackWithFallback.dumped?(dumped)
      MessagePackWithFallback._load(dumped)
    when Marshal71WithFallback.dumped?(dumped)
      Marshal71WithFallback._load(dumped)
    when Marshal70WithFallback.dumped?(dumped)
      Marshal70WithFallback._load(dumped)
    else
      Cache::Store.logger&.warn("Unrecognized payload prefix #{dumped.byteslice(0).inspect}; deserializing as nil")
      nil
    end
  elsif PassthroughWithFallback.dumped?(dumped)
    PassthroughWithFallback._load(dumped)
  else
    Cache::Store.logger&.warn("Unrecognized payload class #{dumped.class}; deserializing as nil")
    nil
  end
end