class Github::Client::GitData::Commits

Constants

REQUIRED_COMMIT_PARAMS
VALID_COMMIT_PARAM_NAMES

Public Instance Methods

create(*args) click to toggle source

Create a commit

@param [Hash] params @input params [String] :message

The commit message

@input params [String] :tree

String of the SHA of the tree object this commit points to

@input params [Array] :parents

Array of the SHAs of the commits that were the parents of this commit.
If omitted or empty, the commit will be written as a root commit.
For a single parent, an array of one SHA should be provided,
for a merge commit, an array of more than one should be provided.

Optional Parameters

You can provide an additional commiter parameter, which is a hash containing information about the committer. Or, you can provide an author parameter, which is a hash containing information about the author.

The committer section is optional and will be filled with the author data if omitted. If the author section is omitted, it will be filled in with the authenticated users information and the current date.

Both the author and commiter parameters have the same keys:

@input params [String] :name

String of the name of the author (or commiter) of the commit

@input params [String] :email

String of the email of the author (or commiter) of the commit

@input params [Timestamp] :date

Indicates when this commit was authored (or committed).
This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

@example

github = Github.new
github.git_data.commits.create 'user-name', 'repo-name',
  message: "my commit message",
  author: {
    name: "Scott Chacon",
    email: "schacon@gmail.com",
    date: "2008-07-09T16:13:30+12:00"
  },
  parents: [
    "7d1b31e74ee336d15cbd21741bc88a537ed063a0"
  ],
  tree: "827efc6d56897b048c772eb4087f854f46256132"]

@api public

# File lib/github_api/client/git_data/commits.rb, line 89
def create(*args)
  arguments(args, required: [:user, :repo]) do
    permit VALID_COMMIT_PARAM_NAMES
    assert_required REQUIRED_COMMIT_PARAMS
  end

  post_request("/repos/#{arguments.user}/#{arguments.repo}/git/commits", arguments.params)
end
find(*args)
Alias for: get
get(*args) click to toggle source

Get a commit

@example

github = Github.new
github.git_data.commits.get 'user-name', 'repo-name', 'sha'

@example

commits = Github::Commits.new user: 'user-name', repo: 'repo-name'
commits.get sha: '...'

@api public

# File lib/github_api/client/git_data/commits.rb, line 33
def get(*args)
  arguments(args, required: [:user, :repo, :sha])
  params = arguments.params

  get_request("/repos/#{arguments.user}/#{arguments.repo}/git/commits/#{arguments.sha}", params)
end
Also aliased as: find