INNER CODE UNIT · Ruby

Git

stevius10/Proxmox-GitOps · config/libraries/clients.rb:6

  class Git

    def initialize(uri, username, password)
      @uri, @username, @password = uri, username, password
    end

    def get_repositories(owner=nil, repo=nil, body: nil, method: Net::HTTP::Get, target: nil)
      repositories = request(Constants::API_PATH_REPOSITORIES.call(@uri, owner, repo, target), body: body, method: method).json
      repositories.is_a?(Array) ? repositories : [repositories]
    end

    def auto_merge(owner=nil, repo=nil)
      get_repositories(owner, repo)
        .reject { |r|  [0, "0"].include?(r['open_pr_counter']) }
        .each   { |r|  get_repositories(owner, r['name'], target: "/pulls")
          .each { |rr| get_repositories(owner, r['name'], target: "/pulls/#{rr['number']}/merge", body: {"Do": "merge"}, method: Net::HTTP::Post) }
        }
    end

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…