Sha256: d384e725220407a5acbb06a891accf0c0d596fa5d9140579c671b9f32053cce8

Contents?: true

Size: 1.41 KB

Versions: 6

Compression:

Stored size: 1.41 KB

Contents

# encoding: utf-8

require_relative '../../api'

module Github
  # The Repo Merging API supports merging branches in a repository. This
  # accomplishes essentially the same thing as merging one branch into another
  # in a local repository and then pushing to GitHub.
  class Client::Repos::Merging < API

    VALID_MERGE_PARAM_NAMES = %w[
      base
      head
      commit_message
    ].freeze # :nodoc:

    REQUIRED_MERGE_PARAMS = %w[ base head ].freeze # :nodoc:

    # Perform a merge
    #
    # @param [Hash] params
    # @input params [String] :base
    #   Required. The name of the base branch that the head will be merged into.
    # @input params [String] :head
    #   Required. The head to merge. This can be a branch name or a commit SHA1.
    # @input params [String] :commit_message
    #   Commit message to use for the merge commit.
    #   If omitted, a default message will be used.
    #
    # @example
    #   github = Github.new
    #   github.repos.merging.merge 'user', 'repo',
    #     base: "master",
    #     head: "cool_feature",
    #     commit_message: "Shipped cool_feature!"
    #
    # @api public
    def merge(*args)
      arguments(args, required: [:user, :repo]) do
        permit VALID_MERGE_PARAM_NAMES
        assert_required REQUIRED_MERGE_PARAMS
      end

      post_request("/repos/#{arguments.user}/#{arguments.repo}/merges", arguments.params)
    end
  end # Client::Repos::Merging
end # Github

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
github_api2-1.0.1 lib/github_api2/client/repos/merging.rb
github_api2-1.0.0 lib/github_api2/client/repos/merging.rb
github_api-0.19.0 lib/github_api/client/repos/merging.rb
lingfennan-github_api-0.18.2 lib/github_api/client/repos/merging.rb
github_api-0.18.2 lib/github_api/client/repos/merging.rb
github_api-0.18.1 lib/github_api/client/repos/merging.rb