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: push.rb
    path of file: ./repos/gitlabhq/qa/qa/resource/repository
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module QA
  module Resource
    module Repository
      class Push < Base
        attr_accessor :file_name, :file_content, :commit_message,
 
    
        def fabricate!
          Git::Repository.perform do |repository|
            @output = ''

            if ssh_key
              repository.uri = repository_ssh_uri
              repository.use_ssh_key(ssh_key)
            else
              repository.uri = repository_http_uri
              repository.use_default_credentials unless user
            end

            repository.use_lfs = use_lfs

            name = 'GitLab QA'
            email = 'root@gitlab.com'

            if user
              repository.username = user.username
              repository.password = user.password
              name = user.name
              email = user.email
            end