Class: GitHub_Gem::GitHubber
- Inherits:
-
Object
- Object
- GitHub_Gem::GitHubber
- Defined in:
- lib/github_api.rb
Overview
- **GitHub Gem** main class that provides ***self*** methods.
Instance Attribute Summary collapse
-
#nickname ⇒ Object
Returns the value of attribute nickname.
-
#token ⇒ Object
Returns the value of attribute token.
Class Method Summary collapse
-
.add_access_token(token) ⇒ Object
-
Add your **github token** to access GitHub API.
-
-
.create_repository(repository_name, repository_description = "", homepage = "", private_repository = false, auto_init = false, has_issues = false, has_projects = false, has_wiki = false) ⇒ Object
-.
-
.get_all_private_repositories(name, password) ⇒ Object
-
List all private repoistories for **authenticated user**.
-
-
.get_info_about_user(name, password) ⇒ Object
-
Get info about user.
-
-
.get_public_repositories(nickname) ⇒ Object
-
List public repositories for a user.
-
Instance Attribute Details
#nickname ⇒ Object
Returns the value of attribute nickname.
15 16 17 |
# File 'lib/github_api.rb', line 15 def nickname @nickname end |
#token ⇒ Object
Returns the value of attribute token.
15 16 17 |
# File 'lib/github_api.rb', line 15 def token @token end |
Class Method Details
.add_access_token(token) ⇒ Object
- Add your **github token** to access GitHub API.
21 22 23 |
# File 'lib/github_api.rb', line 21 def self.add_access_token(token) @token = token end |
.create_repository(repository_name, repository_description = "", homepage = "", private_repository = false, auto_init = false, has_issues = false, has_projects = false, has_wiki = false) ⇒ Object
-
Create a repository for the authenticated user.
Params:
Name: The way that your repoistory will be called. That parameter is ***required***.
Description: Description of your repository. Default: ***empty***.
Homepage: Homepage of your repository. Default: ***empty***.
Private: Boolean value. Default: ***false***. || ***false***: public || ***true***: private ||
**Auto init**: Pass ***true*** to create an initial commit with empty README. Default: ***false***.
**Has issues**: Either ***true*** to enable issues for this repository or ***false*** to disable them. Default: ***true***.
**Has Projects**: Either ***true*** to enable projects for this repository or ***false*** to disable them. Default: ***true***.
**Has Wiki**: Either ***true*** to enable the wiki for this repository or ***false*** to disable it. Default: ***true***.
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/github_api.rb', line 111 def self.create_repository(repository_name, repository_description = "", homepage = "", private_repository = false, auto_init = false, has_issues = false, has_projects = false, has_wiki = false) uri = URI.parse("https://api.github.com/user/repos") request = Net::HTTP::Post.new(uri) request.basic_auth(@nickname, @token) request.body = JSON.dump({ "name" => repository_name, "description" => repository_name, "homepage" => homepage, "private" => private_repository, "has_issues" => has_issues, "has_projects" => has_projects, "has_wiki" => has_wiki, }) = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, ) do |http| http.request(request) end ap(JSON.parse(response.body)) end |
.get_all_private_repositories(name, password) ⇒ Object
- List all private repoistories for **authenticated user**
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/github_api.rb', line 49 def self.get_all_private_repositories(name, password) uri = URI.parse("https://api.github.com/user/repos?visibility=private") request = Net::HTTP::Get.new(uri) request.basic_auth(name, password) = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, ) do |http| http.request(request) end ap(JSON.parse(response.body)) end |
.get_info_about_user(name, password) ⇒ Object
- Get info about user. ***Requires*** nickname and password.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/github_api.rb', line 29 def self.get_info_about_user(name, password) uri = URI.parse("https://api.github.com/users/#{name}") request = Net::HTTP::Get.new(uri) request.basic_auth(name, password) = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, ) do |http| http.request(request) end ap(JSON.parse(response.body)) end |
.get_public_repositories(nickname) ⇒ Object
- List public repositories for a user.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/github_api.rb', line 69 def self.get_public_repositories(nickname) @nickname = nickname uri = URI.parse("https://api.github.com/users/#{@nickname}/repos") request = Net::HTTP::Get.new(uri) request.basic_auth("#{@nickname}", "#{@token}") = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, ) do |http| http.request(request) end ap(JSON.parse(response.body)) end |