Class: Github::Search
- Includes:
- Utils::Url
- Defined in:
- lib/github_api/search.rb
Overview
The Search API is optimized to help you find the specific item you’re looking for (e.g., a specific user, a specific file in a repository, etc.).
Defined Under Namespace
Classes: Legacy
Constant Summary collapse
- PREVIEW_MEDIA =
:nodoc:
'application/vnd.github.preview'.freeze
Constants included from Utils::Url
Utils::Url::DEFAULT_QUERY_SEP, Utils::Url::KEY_VALUE_SEP
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
-
#code(*args) ⇒ Object
Find file contents via various criteria.
-
#issues(*args) ⇒ Object
Search issues.
-
#legacy(options = {}, &block) ⇒ Object
Access to Search::Legacy API.
-
#repos(*args) ⇒ Object
(also: #repositories)
Search repositories.
-
#users(*args) ⇒ Object
Search users.
Methods included from Utils::Url
#build_query, #escape, #escape_uri, #parse_query, #parse_query_for_param, #unescape
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
#code(*args) ⇒ Object
Find file contents via various criteria. (This method returns up to 100 results per page.)
Parameters
<tt>:q</tt> - The search terms. This can be any combination of the
supported issue search parameters.
<tt>:sort</tt> - Optional sort field. Can only be indexed, which
indicates how recently a file has been indexed
by the GitHub search infrastructure. If not provided,
results are sorted by best match.
<tt>:order</tt> - Optional Sort order if sort parameter is provided.
One of asc or desc; the default is desc.
Examples
github = Github.new
github.search.code email: 'wycats'
116 117 118 119 120 121 122 |
# File 'lib/github_api/search.rb', line 116 def code(*args) params = arguments(args, required: [:q]).params params['q'] ||= q params['accept'] ||= PREVIEW_MEDIA get_request('/search/code', params) end |
#issues(*args) ⇒ Object
Search issues
Find issues by state and keyword. (This method returns up to 100 results per page.)
Parameters
<tt>:q</tt> - The search terms. This can be any combination of the
supported issue search parameters.
<tt>:sort</tt> - Optional sort field. One of comments, created, or
updated. If not provided, results are sorted by
best match.
<tt>:order</tt> - Optional Sort order if sort parameter is provided.
One of asc or desc; the default is desc.
Examples
github = Github.new
github.search.legacy.issues 'query'
github.search.legacy.issues q: 'query'
40 41 42 43 44 45 46 |
# File 'lib/github_api/search.rb', line 40 def issues(*args) params = arguments(args, required: [:q]).params params['q'] ||= q params['accept'] ||= PREVIEW_MEDIA get_request('/search/issues' , params) end |
#legacy(options = {}, &block) ⇒ Object
Access to Search::Legacy API
16 17 18 19 |
# File 'lib/github_api/search.rb', line 16 def legacy( = {}, &block) @legacy ||= ApiFactory.new('Search::Legacy', .merge(), &block) end |
#repos(*args) ⇒ Object Also known as: repositories
Search repositories
Find repositories via various criteria. (This method returns up to 100 results per page.)
Parameters
<tt>:q</tt> - The search terms. This can be any combination of the
supported issue search parameters.
<tt>:sort</tt> - Optional sort field. One of stars, forks, or updated.
If not provided, results are sorted by best match.
<tt>:order</tt> - Optional Sort order if sort parameter is provided.
One of asc or desc; the default is desc.
Examples
github = Github.new
github.search.repos 'query'
github.search.repos q: 'query'
66 67 68 69 70 71 72 |
# File 'lib/github_api/search.rb', line 66 def repos(*args) params = arguments(args, required: [:q]).params params['q'] ||= q params['accept'] ||= PREVIEW_MEDIA get_request('/search/repositories', arguments.params) end |
#users(*args) ⇒ Object
Search users
Find users by keyword.
Parameters
<tt>:q</tt> - The search terms. This can be any combination of the
supported issue search parameters.
<tt>:sort</tt> - Optional sort field. One of followers, repositories, or
If not provided, results are sorted by best match.
<tt>:order</tt> - Optional Sort order if sort parameter is provided.
One of asc or desc; the default is desc.
Examples
github = Github.new
github.search.users keyword: 'wycats'
91 92 93 94 95 96 97 |
# File 'lib/github_api/search.rb', line 91 def users(*args) params = arguments(args, required: [:q]).params params['q'] ||= q params['accept'] ||= PREVIEW_MEDIA get_request('/search/users', arguments.params) end |