lib/github_api/client/repos.rb in github_api-0.14.5 vs lib/github_api/client/repos.rb in github_api-0.15.0
- old
+ new
@@ -18,18 +18,10 @@
'pub_sub_hubbub',
'releases',
'statistics',
'statuses'
- DEFAULT_REPO_OPTIONS = {
- "homepage" => "https://github.com",
- "private" => false,
- "has_issues" => true,
- "has_wiki" => true,
- "has_downloads" => true
- }.freeze
-
REQUIRED_REPO_OPTIONS = %w[ name ]
VALID_REPO_OPTIONS = %w[
name
description
@@ -164,10 +156,25 @@
get_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params)
end
alias :find :get
+ # Get a repository
+ #
+ # @example
+ # github = Github.new
+ # github.repos.get_by_id 'repo-id'
+ # github.repos.get_by_id id: 'repo-id'
+ # github.repos(id: 'repo-id').get_by_id
+ #
+ def get_by_id(*args)
+ arguments(args, required: [:id])
+
+ get_request("/repositories/#{arguments.id}", arguments.params)
+ end
+ alias :find_by_id :get_by_id
+
# Create a new repository for the autheticated user.
#
# @param [Hash] params
# @option params [String] :name
# Required string
@@ -227,13 +234,13 @@
end
params = arguments.params
# Requires authenticated user
if (org = params.delete('org') || org)
- post_request("/orgs/#{org}/repos", params.merge_default(DEFAULT_REPO_OPTIONS))
+ post_request("/orgs/#{org}/repos", params)
else
- post_request('/user/repos', params.merge_default(DEFAULT_REPO_OPTIONS))
+ post_request("/user/repos", params)
end
end
# Delete a repository
#
@@ -311,10 +318,10 @@
arguments(args, required: [:user, :repo]) do
permit VALID_REPO_OPTIONS
assert_required %w[ name ]
end
- patch_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params.merge_default(DEFAULT_REPO_OPTIONS))
+ patch_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params)
end
# Delete a repository
#
# Deleting a repository requires admin access.