class Net::HTTP::Protocol

def patch(path, data, initheader = nil, dest = nil, &block) # :yield: +body_segment+

:yield: +body_segment+
as an HTTPResponse object.
Sends a PATCH request to the +path+ and gets a response,
def patch(path, data, initheader = nil, dest = nil, &block) # :yield: +body_segment+
  send_entity(path, data, initheader, dest, Patch, &block)
end

def send_entity(path, data, initheader, dest, type, &block)

and returns its body.
Executes a request which uses a representation
def send_entity(path, data, initheader, dest, type, &block)
  res = nil
  request(type.new(path, initheader), data) {|r|
    r.read_body dest, &block
    res = r
  }
  unless @newimpl
    res.value
    return res, res.body
  end
  res
end