def delete(key)
      return self unless exist?(key)

      begin
        File.delete(content_filename(key))
      rescue StandardError => e
        log_error "Failed to delete stored content at #{content_filename(key)}", e, level: :warn
      end

      begin
        File.delete(properties_filename) unless content?
      rescue StandardError => e
        log_error "Failed to delete stored properties at #{properties_filename}", e, level: :warn
      end

      self
    ensure
      reset
    end
def delete(key)
      return self unless exist?(key)

      begin
        File.delete(content_filename(key))
      rescue StandardError => e
        log_error "Failed to delete stored content at #{content_filename(key)}", e, level: :warn
      end

      begin
        File.delete(properties_filename) unless content?
      rescue StandardError => e
        log_error "Failed to delete stored properties at #{properties_filename}", e, level: :warn
      end

      self
    ensure
      reset
    end
Delete the content for the given +key+. If the +key+ is the last one for
 this resource, the metadata properties will be deleted as well. The +key+
 corresponds to the +content+ key provided to {#save}.

 The resource will be reset afterwards, clearing any cached content or
 properties.

 Does nothing if the key doesn't {#exist?}.

 @param key [Symbol] the key of the content to delete
 @return [Gemstash::Resource] self for chaining purposes