Class: Github::GitData::Commits
- Defined in:
- lib/github_api/git_data/commits.rb
Constant Summary collapse
- VALID_COMMIT_PARAM_NAMES =
%w[ message tree parents author committer name email date ].freeze
- REQUIRED_COMMIT_PARAMS =
%w[ message tree parents ].freeze
Constants included from Request
Request::METHODS, Request::METHODS_WITH_BODIES
Constants included from Connection
Constants included from Constants
Constants::ACCEPT, Constants::ACCEPTED_OAUTH_SCOPES, Constants::ACCEPT_CHARSET, Constants::CACHE_CONTROL, Constants::CONTENT_LENGTH, Constants::CONTENT_TYPE, Constants::DATE, Constants::ETAG, Constants::HEADER_LAST, Constants::HEADER_LINK, Constants::HEADER_NEXT, Constants::LOCATION, Constants::META_FIRST, Constants::META_LAST, Constants::META_NEXT, Constants::META_PREV, Constants::META_REL, Constants::OAUTH_SCOPES, Constants::PARAM_PAGE, Constants::PARAM_PER_PAGE, Constants::PARAM_START_PAGE, Constants::RATELIMIT_LIMIT, Constants::RATELIMIT_REMAINING, Constants::SERVER, Constants::USER_AGENT
Constants included from MimeType
Instance Attribute Summary
Attributes inherited from API
Attributes included from Authorization
Instance Method Summary collapse
-
#create(*args) ⇒ Object
Create a commit.
-
#get(*args) ⇒ Object
(also: #find)
Get a commit.
Methods inherited from API
#api_methods_in, #append_arguments, #arguments, inherited, #initialize, #method_missing, #process_basic_auth, #set, #setup, #with, #yield_or_eval
Methods included from RateLimit
#ratelimit, #ratelimit_remaining
Methods included from Request
#delete_request, #get_request, #patch_request, #post_request, #put_request, #request
Methods included from Connection
#caching?, #clear_cache, #connection, #default_middleware, #default_options, #stack
Methods included from MimeType
Methods included from Authorization
#auth_code, #authenticated?, #authentication, #authorize_url, #basic_authed?, #client, #get_token
Constructor Details
This class inherits a constructor from Github::API
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Github::API
Instance Method Details
#create(*args) ⇒ Object
Create a commit
Parameters
-
message
- String of the commit message -
tree
- String of the SHA of the tree object this commit points to -
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
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.
-
author.name - String of the name of the author of the commit
-
author.email - String of the email of the author of the commit
-
author.date - Timestamp of when this commit was authored
-
committer.name - String of the name of the committer of the commit
-
committer.email - String of the email of the committer of the commit
-
committer.date - Timestamp of when this commit was committed
Examples
github = Github.new
github.git_data.commits.create 'user-name', 'repo-name',
"message": "my commit message",
"author": {
"name": "Scott Chacon",
"email": "[email protected]",
"date": "2008-07-09T16:13:30+12:00"
},
"parents": [
"7d1b31e74ee336d15cbd21741bc88a537ed063a0"
],
"tree": "827efc6d56897b048c772eb4087f854f46256132"]
72 73 74 75 76 77 78 79 80 |
# File 'lib/github_api/git_data/commits.rb', line 72 def create(*args) arguments(args, :required => [:user, :repo]) do sift VALID_COMMIT_PARAM_NAMES assert_required REQUIRED_COMMIT_PARAMS end params = arguments.params post_request("/repos/#{user}/#{repo}/git/commits", params) end |
#get(*args) ⇒ Object Also known as: find
32 33 34 35 36 37 |
# File 'lib/github_api/git_data/commits.rb', line 32 def get(*args) arguments(args, :required => [:user, :repo, :sha]) params = arguments.params get_request("/repos/#{user}/#{repo}/git/commits/#{sha}", params) end |