ghgem 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ghgem.rb +127 -0
  3. metadata +2 -2
  4. data/lib/github_api.rb +0 -136
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07c571c0a4f7a32744e1ee28600785d89efdf1a27c23023efd847e3c437a9b77
4
- data.tar.gz: 03f4b2a12f40851d6aa60dc292b61ffddb71da74fcdfba7e5453742ee72241d9
3
+ metadata.gz: 437caeeae10d1f0ad44d139b58c146a7e587de661c2f176f76b128155077d13c
4
+ data.tar.gz: e91a47289db7eef1ce4c62e6ce63b559d25e4ae8debf1d5a3c33acc388244db3
5
5
  SHA512:
6
- metadata.gz: a32f7ebdcfbf3ba556cbf734f9bc9b7acdd021f186db3b2791e93fc5bfdfb2c7cad1108be1c95327812b66bfe1865add332774db10210f006f18c00747f44c5f
7
- data.tar.gz: b43991fd05ecd951932ec5e04073b124a81f6a750c77aa018fad9aa4fa8f90ded4260816ccd1127692a9855b3e36336c9380fcffe1d82e4b7a8bbeecb1b01edd
6
+ metadata.gz: f393a7bb732761610e8248cc97fd6ec0112e5b57041b6593c65d4cfe3e09eb72bd43a432e1eb7f7db168a735e26ed4000c3b3d1c663a580b5277c7cf9a50aa73
7
+ data.tar.gz: 25ea5dc9a6e3191a8ed36c47bbaf8d7fae9dbe88b6bb0c2168a89229730ffd6667bf130903644a5b342288aa0c6eae76f69eee41220bb1fa123becd03a791baf
data/lib/ghgem.rb ADDED
@@ -0,0 +1,127 @@
1
+ require "net/http"
2
+ require "uri"
3
+ require "json"
4
+ require "awesome_print"
5
+
6
+ class GHGem
7
+ attr_accessor :token, :nickname
8
+
9
+ ##
10
+ # -
11
+ # Add your **github token** to access GitHub API.
12
+ #
13
+ def self.add_access_token(token)
14
+ @token = token
15
+ end
16
+
17
+ ##
18
+ # -
19
+ # Get info about user. ***Requires*** nickname and password.
20
+ #
21
+ def self.get_info_about_user(name, password)
22
+ uri = URI.parse("https://api.github.com/users/#{name}")
23
+ request = Net::HTTP::Get.new(uri)
24
+ request.basic_auth(name, password)
25
+
26
+ req_options = {
27
+ use_ssl: uri.scheme == "https",
28
+ }
29
+
30
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
31
+ http.request(request)
32
+ end
33
+
34
+ ap(JSON.parse(response.body))
35
+ end
36
+
37
+ ##
38
+ # -
39
+ # List all private repoistories for **authenticated user**
40
+ #
41
+ def self.get_all_private_repositories(name, password)
42
+ uri = URI.parse("https://api.github.com/user/repos?visibility=private")
43
+ request = Net::HTTP::Get.new(uri)
44
+ request.basic_auth(name, password)
45
+
46
+ req_options = {
47
+ use_ssl: uri.scheme == "https",
48
+ }
49
+
50
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
51
+ http.request(request)
52
+ end
53
+
54
+ ap(JSON.parse(response.body))
55
+ end
56
+
57
+ ##
58
+ # -
59
+ # List public repositories for a **user**.
60
+ #
61
+ def self.get_public_repositories(nickname)
62
+ @nickname = nickname
63
+
64
+ uri = URI.parse("https://api.github.com/users/#{@nickname}/repos")
65
+ request = Net::HTTP::Get.new(uri)
66
+ request.basic_auth("#{@nickname}", "#{@token}")
67
+
68
+ req_options = {
69
+ use_ssl: uri.scheme == "https",
70
+ }
71
+
72
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
73
+ http.request(request)
74
+ end
75
+
76
+ ap(JSON.parse(response.body))
77
+ end
78
+
79
+ ##
80
+ #
81
+ # -
82
+ #
83
+ # Create a repository for the **authenticated** user.
84
+ #
85
+ # **Params**:
86
+ #
87
+ # **Name**: The way that your repoistory will be called. That parameter is ***required***.
88
+ #
89
+ # **Description**: Description of your repository. Default: ***empty***.
90
+ #
91
+ # **Homepage**: Homepage of your repository. Default: ***empty***.
92
+ #
93
+ # **Private**: *Boolean* value. Default: ***false***. || ***false***: public || ***true***: private ||
94
+ #
95
+ # **Auto init**: Pass ***true*** to create an initial commit with empty README. Default: ***false***.
96
+ #
97
+ # **Has issues**: Either ***true*** to enable issues for this repository or ***false*** to disable them. Default: ***true***.
98
+ #
99
+ # **Has Projects**: Either ***true*** to enable projects for this repository or ***false*** to disable them. Default: ***true***.
100
+ #
101
+ # **Has Wiki**: Either ***true*** to enable the wiki for this repository or ***false*** to disable it. Default: ***true***.
102
+ #
103
+ def self.create_repository(repository_name, repository_description = "", homepage = "", private_repository = false, auto_init = false, has_issues = false, has_projects = false, has_wiki = false)
104
+ uri = URI.parse("https://api.github.com/user/repos")
105
+ request = Net::HTTP::Post.new(uri)
106
+ request.basic_auth(@nickname, @token)
107
+ request.body = JSON.dump({
108
+ "name" => repository_name,
109
+ "description" => repository_name,
110
+ "homepage" => homepage,
111
+ "private" => private_repository,
112
+ "has_issues" => has_issues,
113
+ "has_projects" => has_projects,
114
+ "has_wiki" => has_wiki,
115
+ })
116
+
117
+ req_options = {
118
+ use_ssl: uri.scheme == "https",
119
+ }
120
+
121
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
122
+ http.request(request)
123
+ end
124
+
125
+ ap(JSON.parse(response.body))
126
+ end
127
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ghgem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ismail Chukmaev
@@ -16,7 +16,7 @@ executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
- - lib/github_api.rb
19
+ - lib/ghgem.rb
20
20
  homepage:
21
21
  licenses: []
22
22
  metadata: {}
data/lib/github_api.rb DELETED
@@ -1,136 +0,0 @@
1
- require "net/http"
2
- require "uri"
3
- require "json"
4
- require "awesome_print"
5
- require "rdoc/rdoc"
6
-
7
- options = RDoc::Options.new
8
-
9
- module GitHub_Gem
10
- ##
11
- # -
12
- # **GitHub Gem** main class that provides ***self*** methods.
13
- #
14
- class GitHubber
15
- attr_accessor :token, :nickname
16
-
17
- ##
18
- # -
19
- # Add your **github token** to access GitHub API.
20
- #
21
- def self.add_access_token(token)
22
- @token = token
23
- end
24
-
25
- ##
26
- # -
27
- # Get info about user. ***Requires*** nickname and password.
28
- #
29
- def self.get_info_about_user(name, password)
30
- uri = URI.parse("https://api.github.com/users/#{name}")
31
- request = Net::HTTP::Get.new(uri)
32
- request.basic_auth(name, password)
33
-
34
- req_options = {
35
- use_ssl: uri.scheme == "https",
36
- }
37
-
38
- response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
39
- http.request(request)
40
- end
41
-
42
- ap(JSON.parse(response.body))
43
- end
44
-
45
- ##
46
- # -
47
- # List all private repoistories for **authenticated user**
48
- #
49
- def self.get_all_private_repositories(name, password)
50
- uri = URI.parse("https://api.github.com/user/repos?visibility=private")
51
- request = Net::HTTP::Get.new(uri)
52
- request.basic_auth(name, password)
53
-
54
- req_options = {
55
- use_ssl: uri.scheme == "https",
56
- }
57
-
58
- response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
59
- http.request(request)
60
- end
61
-
62
- ap(JSON.parse(response.body))
63
- end
64
-
65
- ##
66
- # -
67
- # List public repositories for a **user**.
68
- #
69
- def self.get_public_repositories(nickname)
70
- @nickname = nickname
71
-
72
- uri = URI.parse("https://api.github.com/users/#{@nickname}/repos")
73
- request = Net::HTTP::Get.new(uri)
74
- request.basic_auth("#{@nickname}", "#{@token}")
75
-
76
- req_options = {
77
- use_ssl: uri.scheme == "https",
78
- }
79
-
80
- response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
81
- http.request(request)
82
- end
83
-
84
- ap(JSON.parse(response.body))
85
- end
86
-
87
- ##
88
- #
89
- # -
90
- #
91
- # Create a repository for the **authenticated** user.
92
- #
93
- # **Params**:
94
- #
95
- # **Name**: The way that your repoistory will be called. That parameter is ***required***.
96
- #
97
- # **Description**: Description of your repository. Default: ***empty***.
98
- #
99
- # **Homepage**: Homepage of your repository. Default: ***empty***.
100
- #
101
- # **Private**: *Boolean* value. Default: ***false***. || ***false***: public || ***true***: private ||
102
- #
103
- # **Auto init**: Pass ***true*** to create an initial commit with empty README. Default: ***false***.
104
- #
105
- # **Has issues**: Either ***true*** to enable issues for this repository or ***false*** to disable them. Default: ***true***.
106
- #
107
- # **Has Projects**: Either ***true*** to enable projects for this repository or ***false*** to disable them. Default: ***true***.
108
- #
109
- # **Has Wiki**: Either ***true*** to enable the wiki for this repository or ***false*** to disable it. Default: ***true***.
110
- #
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)
112
- uri = URI.parse("https://api.github.com/user/repos")
113
- request = Net::HTTP::Post.new(uri)
114
- request.basic_auth(@nickname, @token)
115
- request.body = JSON.dump({
116
- "name" => repository_name,
117
- "description" => repository_name,
118
- "homepage" => homepage,
119
- "private" => private_repository,
120
- "has_issues" => has_issues,
121
- "has_projects" => has_projects,
122
- "has_wiki" => has_wiki,
123
- })
124
-
125
- req_options = {
126
- use_ssl: uri.scheme == "https",
127
- }
128
-
129
- response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
130
- http.request(request)
131
- end
132
-
133
- ap(JSON.parse(response.body))
134
- end
135
- end
136
- end