You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: azure.rb
    path of file: ./repos/dependabot-core/common/lib/dependabot/pull_request_updater
    
    the code of the file until where you have to start completion: # typed: strict
# frozen_string_literal: true

require "securerandom"
require "sorbet-runtime"

require "dependabot/clients/azure"

module Dependabot
  class PullRequestUpdater
    class Azure
      extend T::Sig

      class PullRequestUpdateFailed < Dependabot::DependabotError; end

      OBJECT_ID_FOR_BRANCH_DELETE = "0000000
    
      def update_source_branch
        # 1) Push the file changes to a newly created temporary branch (from base commit)
        new_commit = create_temp_branch
        # 2) Update PR source branch to point to the temp branch head commit.
        response = update_branch(source_branch_name, old_source_branch_commit, new_commit)
        # 3) Delete temp branch
        update_branch(temp_branch_name, new_commit, OBJECT_ID_FOR_BRANCH_DELETE)

        raise PullRequestUpdateFailed, response.fetch("customMessage", nil) unless response.fetch("success", false)
      end