Module: Octokit::Client::Commits
- Included in:
- Octokit::Client
- Defined in:
- lib/octokit/client/commits.rb
Overview
Methods for the Commits API
Instance Method Summary collapse
-
#commit(repo, sha, options = {}) ⇒ Sawyer::Resource
Get a single commit.
-
#commits(*args) ⇒ Array<Sawyer::Resource>
(also: #list_commits)
List commits.
-
#commits_before(*args) ⇒ Array<Sawyer::Resource>
Get commits before a specified date.
-
#commits_between(*args) ⇒ Array<Sawyer::Resource>
Get commits made between two nominated dates.
-
#commits_on(*args) ⇒ Array<Sawyer::Resource>
Get commits on a specified date.
-
#commits_since(*args) ⇒ Array<Sawyer::Resource>
Get commits after a specified date.
-
#compare(repo, start, endd, options = {}) ⇒ Sawyer::Resource
Compare two commits.
-
#create_commit(repo, message, tree, parents = nil, options = {}) ⇒ Sawyer::Resource
Create a commit.
-
#git_commit(repo, sha, options = {}) ⇒ Sawyer::Resource
Get a detailed git commit.
-
#merge(repo, base, head, options = {}) ⇒ Sawyer::Resource
Merge a branch or sha.
Instance Method Details
#commit(repo, sha, options = {}) ⇒ Sawyer::Resource
Get a single commit
143 144 145 |
# File 'lib/octokit/client/commits.rb', line 143 def commit(repo, sha, = {}) get "#{Repository.path repo}/commits/#{sha}", end |
#commits(repo, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource> #commits(repo, options = {}) ⇒ Array<Sawyer::Resource> Also known as: list_commits
List commits
23 24 25 26 27 28 |
# File 'lib/octokit/client/commits.rb', line 23 def commits(*args) arguments = Octokit::RepoArguments.new(args) sha_or_branch = arguments.pop arguments.[:sha] = sha_or_branch if sha_or_branch paginate "#{Repository.new(arguments.repo).path}/commits", arguments. end |
#commits_before(repo, date, options = {}) ⇒ Array<Sawyer::Resource> #commits_before(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
Get commits before a specified date
71 72 73 74 75 76 77 78 79 |
# File 'lib/octokit/client/commits.rb', line 71 def commits_before(*args) arguments = Octokit::RepoArguments.new(args) date = parse_date(arguments.shift) params = arguments. params.merge!(until: iso8601(date)) sha_or_branch = arguments.pop params[:sha] = sha_or_branch if sha_or_branch commits(arguments.repo, params) end |
#commits_between(repo, start_date, end_date, options = {}) ⇒ Array<Sawyer::Resource> #commits_between(repo, start_date, end_date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
Get commits made between two nominated dates
122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/octokit/client/commits.rb', line 122 def commits_between(*args) arguments = Octokit::RepoArguments.new(args) date = parse_date(arguments.shift) end_date = parse_date(arguments.shift) if date > end_date raise ArgumentError, "Start date #{date} does not precede #{end_date}" end params = arguments. params.merge!(since: iso8601(date), until: iso8601(end_date)) sha_or_branch = arguments.pop params[:sha] = sha_or_branch if sha_or_branch commits(arguments.repo, params) end |
#commits_on(repo, date, options = {}) ⇒ Array<Sawyer::Resource> #commits_on(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
Get commits on a specified date
95 96 97 98 99 100 101 102 103 104 |
# File 'lib/octokit/client/commits.rb', line 95 def commits_on(*args) arguments = Octokit::RepoArguments.new(args) date = parse_date(arguments.shift) params = arguments. end_date = date + 1 params.merge!(since: iso8601(date), until: iso8601(end_date)) sha_or_branch = arguments.pop params[:sha] = sha_or_branch if sha_or_branch commits(arguments.repo, params) end |
#commits_since(repo, date, options = {}) ⇒ Array<Sawyer::Resource> #commits_since(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
Get commits after a specified date
47 48 49 50 51 52 53 54 55 |
# File 'lib/octokit/client/commits.rb', line 47 def commits_since(*args) arguments = Octokit::RepoArguments.new(args) date = parse_date(arguments.shift) params = arguments. params.merge!(since: iso8601(date)) sha_or_branch = arguments.pop params[:sha] = sha_or_branch if sha_or_branch commits(arguments.repo, params) end |
#compare(repo, start, endd, options = {}) ⇒ Sawyer::Resource
Compare two commits
When using auto_pagination, commits from all pages will be concatenated into the commits attribute of the first page's response.
192 193 194 195 196 |
# File 'lib/octokit/client/commits.rb', line 192 def compare(repo, start, endd, = {}) paginate "#{Repository.path repo}/compare/#{start}...#{endd}", do |data, last_response| data.commits.concat last_response.data.commits end end |
#create_commit(repo, message, tree, parents = nil, options = {}) ⇒ Sawyer::Resource
Create a commit
Optionally pass author and committer hashes in options if you'd like manual control over those parameters. If absent, details will be inferred from the authenticated user. See GitHub's documentation for details about how to format committer identities.
176 177 178 179 180 |
# File 'lib/octokit/client/commits.rb', line 176 def create_commit(repo, , tree, parents = nil, = {}) params = { message: , tree: tree } params[:parents] = [parents].flatten if parents post "#{Repository.path repo}/git/commits", .merge(params) end |
#git_commit(repo, sha, options = {}) ⇒ Sawyer::Resource
Get a detailed git commit
153 154 155 |
# File 'lib/octokit/client/commits.rb', line 153 def git_commit(repo, sha, = {}) get "#{Repository.path repo}/git/commits/#{sha}", end |
#merge(repo, base, head, options = {}) ⇒ Sawyer::Resource
Merge a branch or sha
206 207 208 209 210 211 212 |
# File 'lib/octokit/client/commits.rb', line 206 def merge(repo, base, head, = {}) params = { base: base, head: head }.merge() post "#{Repository.path repo}/merges", params end |