Class: Github::Issues::Labels
- Defined in:
- lib/github_api/issues/labels.rb
Constant Summary collapse
- VALID_LABEL_INPUTS =
%w[ name color ].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
-
#add(*args) ⇒ Object
(also: #<<)
Add labels to an issue.
-
#create(*args) ⇒ Object
Create a label.
-
#delete(*args) ⇒ Object
Delete a label.
-
#get(*args) ⇒ Object
(also: #find)
Get a single label.
-
#list(*args) ⇒ Object
(also: #all)
List all labels for a repository.
-
#remove(*args) ⇒ Object
Remove a label from an issue.
-
#replace(*args) ⇒ Object
Replace all labels for an issue.
-
#update(*args) ⇒ Object
(also: #edit)
Update a label.
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
#add(*args) ⇒ Object Also known as: <<
Add labels to an issue
Examples
github = Github.new
github.issues.labels.add 'user-name', 'repo-name', 'issue-id', 'label1', 'label2', ...
118 119 120 121 122 123 124 |
# File 'lib/github_api/issues/labels.rb', line 118 def add(*args) arguments(args, :required => [:user, :repo, :issue_id]) params = arguments.params params['data'] = arguments.remaining unless arguments.remaining.empty? post_request("/repos/#{user}/#{repo}/issues/#{issue_id}/labels", params) end |
#create(*args) ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/github_api/issues/labels.rb', line 70 def create(*args) arguments(args, :required => [:user, :repo]) do sift VALID_LABEL_INPUTS assert_required VALID_LABEL_INPUTS end post_request("/repos/#{user}/#{repo}/labels", arguments.params) end |
#delete(*args) ⇒ Object
106 107 108 109 110 |
# File 'lib/github_api/issues/labels.rb', line 106 def delete(*args) arguments(args, :required => [:user, :repo, :label_name]) delete_request("/repos/#{user}/#{repo}/labels/#{label_name}", arguments.params) end |
#get(*args) ⇒ Object Also known as: find
52 53 54 55 56 57 |
# File 'lib/github_api/issues/labels.rb', line 52 def get(*args) arguments(args, :required => [:user, :repo, :label_name]) params = arguments.params get_request("/repos/#{user}/#{repo}/labels/#{label_name}", params) end |
#list(*args) ⇒ Object Also known as: all
List all labels for a repository
Examples
github = Github.new user: 'user-name', repo: 'repo-name'
github.issues.labels.list
github.issues.labels.list { |label| ... }
Get labels for every issue in a milestone
Examples
github = Github.new
github.issues.labels.list 'user-name', 'repo-name', milestone_id: 'milestone-id'
List labels on an issue
Examples
github = Github.new
github.issues.labels.list 'user-name', 'repo-name', issue_id: 'issue-id'
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/github_api/issues/labels.rb', line 27 def list(*args) arguments(args, :required => [:user, :repo]) params = arguments.params response = if (milestone_id = params.delete('milestone_id')) get_request("/repos/#{user}/#{repo}/milestones/#{milestone_id}/labels", params) elsif (issue_id = params.delete('issue_id')) get_request("/repos/#{user}/#{repo}/issues/#{issue_id}/labels", params) else get_request("/repos/#{user}/#{repo}/labels", params) end return response unless block_given? response.each { |el| yield el } end |
#remove(*args) ⇒ Object
139 140 141 142 143 144 145 146 147 148 |
# File 'lib/github_api/issues/labels.rb', line 139 def remove(*args) arguments(args, :required => [:user, :repo, :issue_id]) params = arguments.params if (label_name = params.delete('label_name')) delete_request("/repos/#{user}/#{repo}/issues/#{issue_id}/labels/#{label_name}", params) else delete_request("/repos/#{user}/#{repo}/issues/#{issue_id}/labels", params) end end |
#replace(*args) ⇒ Object
Replace all labels for an issue
Sending an empty array ([]) will remove all Labels from the Issue.
Examples
github = Github.new
github.issues.labels.replace 'user-name', 'repo-name', 'issue-id', 'label1', 'label2', ...
158 159 160 161 162 163 164 |
# File 'lib/github_api/issues/labels.rb', line 158 def replace(*args) arguments(args, :required => [:user, :repo, :issue_id]) params = arguments.params params['data'] = arguments.remaining unless arguments.remaining.empty? put_request("/repos/#{user}/#{repo}/issues/#{issue_id}/labels", params) end |
#update(*args) ⇒ Object Also known as: edit
90 91 92 93 94 95 96 97 |
# File 'lib/github_api/issues/labels.rb', line 90 def update(*args) arguments(args, :required => [:user, :repo, :label_name]) do sift VALID_LABEL_INPUTS assert_required VALID_LABEL_INPUTS end patch_request("/repos/#{user}/#{repo}/labels/#{label_name}", arguments.params) end |