Class: Github::Client::Issues
- Defined in:
- lib/github_api2/client/issues.rb
Defined Under Namespace
Classes: Assignees, Comments, Events, Labels, Milestones
Constant Summary collapse
- VALID_ISSUE_PARAM_NAMES =
%w[ assignee body creator direction filter labels milestone mentioned mime_type org resource since sort state title ].freeze
- VALID_ISSUE_PARAM_VALUES =
{ 'filter' => %w[ assigned created mentioned subscribed all ], 'state' => %w[ open closed all ], 'sort' => %w[ created updated comments ], 'direction' => %w[ desc asc ], 'since' => %r{\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z} }
Constants included from MimeType
Constants included from Github::Constants
Github::Constants::ACCEPT, Github::Constants::ACCEPTED_OAUTH_SCOPES, Github::Constants::ACCEPT_CHARSET, Github::Constants::CACHE_CONTROL, Github::Constants::CONTENT_LENGTH, Github::Constants::CONTENT_TYPE, Github::Constants::DATE, Github::Constants::ETAG, Github::Constants::HEADER_LAST, Github::Constants::HEADER_LINK, Github::Constants::HEADER_NEXT, Github::Constants::LOCATION, Github::Constants::META_FIRST, Github::Constants::META_LAST, Github::Constants::META_NEXT, Github::Constants::META_PREV, Github::Constants::META_REL, Github::Constants::OAUTH_SCOPES, Github::Constants::PARAM_PAGE, Github::Constants::PARAM_PER_PAGE, Github::Constants::PARAM_START_PAGE, Github::Constants::RATELIMIT_LIMIT, Github::Constants::RATELIMIT_REMAINING, Github::Constants::RATELIMIT_RESET, Github::Constants::SERVER, Github::Constants::USER_AGENT
Instance Attribute Summary
Attributes inherited from API
Instance Method Summary collapse
-
#create(*args) ⇒ Object
Create an issue.
-
#edit(*args) ⇒ Object
Edit an issue.
-
#get(*args) ⇒ Object
(also: #find)
Get a single issue.
-
#list(*args) ⇒ Object
(also: #all)
List your issues.
Methods inherited from API
after_callbacks, after_request, #api_methods_in, #arguments, before_callbacks, before_request, clear_request_methods!, #disable_redirects, #execute, extend_with_actions, extra_methods, #extract_basic_auth, extract_class_name, #filter_callbacks, inherited, #initialize, internal_methods, method_added, #method_missing, #module_methods_in, namespace, request_methods, require_all, #respond_to?, root!, #run_callbacks, #set, #yield_or_eval
Methods included from Request::Verbs
#delete_request, #get_request, #head_request, #options_request, #patch_request, #post_request, #put_request
Methods included from RateLimit
#ratelimit, #ratelimit_remaining, #ratelimit_reset
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 an issue
200 201 202 203 204 205 206 207 |
# File 'lib/github_api2/client/issues.rb', line 200 def create(*args) arguments(args, required: [:user, :repo]) do permit VALID_ISSUE_PARAM_NAMES assert_required %w[ title ] end post_request("/repos/#{arguments.user}/#{arguments.repo}/issues", arguments.params) end |
#edit(*args) ⇒ Object
Edit an issue
240 241 242 243 244 245 246 |
# File 'lib/github_api2/client/issues.rb', line 240 def edit(*args) arguments(args, required: [:user, :repo, :number]) do permit VALID_ISSUE_PARAM_NAMES end patch_request("/repos/#{arguments.user}/#{arguments.repo}/issues/#{arguments.number}", arguments.params) end |
#get(*args) ⇒ Object Also known as: find
Get a single issue
161 162 163 164 165 |
# File 'lib/github_api2/client/issues.rb', line 161 def get(*args) arguments(args, required: [:user, :repo, :number]) get_request("/repos/#{arguments.user}/#{arguments.repo}/issues/#{arguments.number}", arguments.params) end |
#list(*args) ⇒ Object Also known as: all
List your issues
List all issues across all the authenticated user’s visible repositories including owned repositories, member repositories, and organization repositories.
List all issues across owned and member repositories for the authenticated user.
List all issues for a given organization for the authenticated user.
List issues for a repository
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/github_api2/client/issues.rb', line 125 def list(*args) params = arguments(args) do assert_values VALID_ISSUE_PARAM_VALUES end.params response = if (org = params.delete('org')) get_request("/orgs/#{org}/issues", params) elsif (user_name = params.delete('user')) && (repo_name = params.delete('repo')) list_repo user_name, repo_name elsif args.include? :user get_request("/user/issues", params) else get_request("/issues", params) end return response unless block_given? response.each { |el| yield el } end |