module ActionDispatch::Cookies::SerializedCookieJars

def deserialize(name, value)

def deserialize(name, value)
  if value
    if needs_migration?(value)
      Marshal.load(value).tap do |v|
        self[name] = { value: v }
      end
    else
      serializer.load(value)
    end
  end
end

def digest

def digest
  @options[:digest] || 'SHA1'
end

def needs_migration?(value)

def needs_migration?(value)
  @options[:serializer] == :hybrid && value.start_with?(MARSHAL_SIGNATURE)
end

def serialize(name, value)

def serialize(name, value)
  serializer.dump(value)
end

def serializer

def serializer
  serializer = @options[:serializer] || :marshal
  case serializer
  when :marshal
    Marshal
  when :json, :hybrid
    JsonSerializer
  else
    serializer
  end
end