github_api 0.1.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE.txt +20 -0
- data/README.rdoc +159 -0
- data/Rakefile +52 -0
- data/features/github.feature +9 -0
- data/features/step_definitions/github_steps.rb +0 -0
- data/features/support/env.rb +13 -0
- data/lib/github_api.rb +55 -0
- data/lib/github_api/api.rb +133 -0
- data/lib/github_api/api/extract_options.rb +17 -0
- data/lib/github_api/api/mime.rb +5 -0
- data/lib/github_api/api/utils.rb +9 -0
- data/lib/github_api/client.rb +35 -0
- data/lib/github_api/configuration.rb +84 -0
- data/lib/github_api/connection.rb +91 -0
- data/lib/github_api/error.rb +35 -0
- data/lib/github_api/gists.rb +199 -0
- data/lib/github_api/gists/comments.rb +74 -0
- data/lib/github_api/git_data.rb +26 -0
- data/lib/github_api/git_data/blobs.rb +9 -0
- data/lib/github_api/git_data/commits.rb +9 -0
- data/lib/github_api/git_data/references.rb +9 -0
- data/lib/github_api/git_data/tags.rb +9 -0
- data/lib/github_api/git_data/trees.rb +9 -0
- data/lib/github_api/issues.rb +201 -0
- data/lib/github_api/issues/comments.rb +98 -0
- data/lib/github_api/issues/events.rb +50 -0
- data/lib/github_api/issues/labels.rb +191 -0
- data/lib/github_api/issues/milestones.rb +119 -0
- data/lib/github_api/orgs.rb +90 -0
- data/lib/github_api/orgs/members.rb +109 -0
- data/lib/github_api/orgs/teams.rb +236 -0
- data/lib/github_api/pull_requests.rb +210 -0
- data/lib/github_api/pull_requests/comments.rb +134 -0
- data/lib/github_api/repos.rb +256 -0
- data/lib/github_api/repos/collaborators.rb +59 -0
- data/lib/github_api/repos/commits.rb +115 -0
- data/lib/github_api/repos/downloads.rb +77 -0
- data/lib/github_api/repos/forks.rb +29 -0
- data/lib/github_api/repos/hooks.rb +67 -0
- data/lib/github_api/repos/keys.rb +53 -0
- data/lib/github_api/repos/watching.rb +50 -0
- data/lib/github_api/request.rb +75 -0
- data/lib/github_api/request/oauth2.rb +33 -0
- data/lib/github_api/response.rb +10 -0
- data/lib/github_api/response/jsonize.rb +22 -0
- data/lib/github_api/response/mashify.rb +26 -0
- data/lib/github_api/response/raise_error.rb +33 -0
- data/lib/github_api/users.rb +82 -0
- data/lib/github_api/users/emails.rb +49 -0
- data/lib/github_api/users/followers.rb +98 -0
- data/lib/github_api/users/keys.rb +84 -0
- data/lib/github_api/version.rb +12 -0
- data/spec/fixtures/collaborators_list.json +6 -0
- data/spec/fixtures/commits_list.json +25 -0
- data/spec/fixtures/repos_branches_list.json +7 -0
- data/spec/fixtures/repos_list.json +27 -0
- data/spec/github/api_spec.rb +6 -0
- data/spec/github/client_spec.rb +6 -0
- data/spec/github/gists/comments_spec.rb +5 -0
- data/spec/github/gists_spec.rb +5 -0
- data/spec/github/git_data/blobs_spec.rb +5 -0
- data/spec/github/git_data/commits_spec.rb +5 -0
- data/spec/github/git_data/references_spec.rb +5 -0
- data/spec/github/git_data/tags_spec.rb +5 -0
- data/spec/github/git_data/trees_spec.rb +5 -0
- data/spec/github/git_data_spec.rb +5 -0
- data/spec/github/issues/comments_spec.rb +5 -0
- data/spec/github/issues/events_spec.rb +5 -0
- data/spec/github/issues/labels_spec.rb +5 -0
- data/spec/github/issues/milestones_spec.rb +5 -0
- data/spec/github/issues_spec.rb +5 -0
- data/spec/github/orgs/members_spec.rb +5 -0
- data/spec/github/orgs/teams_spec.rb +5 -0
- data/spec/github/orgs_spec.rb +5 -0
- data/spec/github/repos/collaborators_spec.rb +6 -0
- data/spec/github/repos/commits_spec.rb +5 -0
- data/spec/github/repos/downloads_spec.rb +5 -0
- data/spec/github/repos/forks_spec.rb +5 -0
- data/spec/github/repos/hooks_spec.rb +5 -0
- data/spec/github/repos/keys_spec.rb +5 -0
- data/spec/github/repos/watching_spec.rb +5 -0
- data/spec/github/repos_spec.rb +35 -0
- data/spec/github_spec.rb +5 -0
- data/spec/spec_helper.rb +15 -0
- metadata +284 -0
@@ -0,0 +1,115 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Github
|
4
|
+
class Repos
|
5
|
+
module Commits
|
6
|
+
|
7
|
+
REQUIRED_COMMENT_PARAMS = %w[ body commit_id line path position ]
|
8
|
+
|
9
|
+
# Creates a commit comment
|
10
|
+
#
|
11
|
+
# = Examples
|
12
|
+
# @github = Github.new
|
13
|
+
# @github.repos.create_comment(...)
|
14
|
+
#
|
15
|
+
def create_comment(user_name=nil, repo_name=nil, params={})
|
16
|
+
raise ArgumentError, "Expected following inputs to the method: #{REQUIRED_COMMENT_PARAMS.join(', ')}" unless _validate_inputs(REQUIRED_COMMENT_PARAMS, inputs)
|
17
|
+
|
18
|
+
post("/repos/#{user}/#{repo}/commits/#{sha}/comments", inputs)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Deletes a commit comment
|
22
|
+
#
|
23
|
+
# = Examples
|
24
|
+
# @github = Github.new
|
25
|
+
# @github.repos.delete_comment(...)
|
26
|
+
#
|
27
|
+
def delete_comment(user, repo, comment_id)
|
28
|
+
delete("/repos/#{user}/#{repo}/comments/#{comment_id}")
|
29
|
+
end
|
30
|
+
|
31
|
+
# List commits on a repository
|
32
|
+
#
|
33
|
+
# = Parameters
|
34
|
+
# :sha Optional string. Sha or branch to start listing commits from.
|
35
|
+
# :path Optional string. Only commits containing this file path will be returned
|
36
|
+
# = Examples
|
37
|
+
# @github = Github.new
|
38
|
+
# @github.repos.commits('user-name', 'repo-name', { :sha => ... })
|
39
|
+
#
|
40
|
+
def commits(user_name=nil, repo_name=nil, params={})
|
41
|
+
_update_user_repo_params(user_name, repo_name)
|
42
|
+
_validate_user_repo_params(user, repo) unless user? && repo?
|
43
|
+
_normalize_params_keys(params)
|
44
|
+
_filter_params_keys(%w[ sha path], params)
|
45
|
+
|
46
|
+
response = get("/repos/#{user}/#{repo}/commits", params)
|
47
|
+
return response unless block_given?
|
48
|
+
response.each { |el| yield el }
|
49
|
+
end
|
50
|
+
|
51
|
+
# List commit comments for a repository
|
52
|
+
#
|
53
|
+
# = Examples
|
54
|
+
# @github = Github.new
|
55
|
+
# @github.repos.list_repo_comments('user-name', 'repo-name')
|
56
|
+
#
|
57
|
+
def list_repo_comments(user_name=nil, repo_name=nil)
|
58
|
+
_update_user_repo_params(user_name, repo_name)
|
59
|
+
_validate_user_repo_params(user, repo) unless user? && repo?
|
60
|
+
|
61
|
+
response = get("/repos/#{user}/#{repo}/comments")
|
62
|
+
return response unless block_given?
|
63
|
+
response.each { |el| yield el }
|
64
|
+
end
|
65
|
+
|
66
|
+
# List comments for a single commit
|
67
|
+
#
|
68
|
+
# = Examples
|
69
|
+
# @github = Github.new
|
70
|
+
# @github.repos.list_commit_comments('user-name', 'repo-name', '6dcb09b5b57875f334f61aebed695e2e4193db5e')
|
71
|
+
#
|
72
|
+
def list_commit_comments(user, repo, sha)
|
73
|
+
get("/repos/#{user}/#{repo}/commits/#{sha}/comments")
|
74
|
+
end
|
75
|
+
|
76
|
+
# Gets a single commit
|
77
|
+
#
|
78
|
+
# Examples:
|
79
|
+
# @github = Github.new
|
80
|
+
# @github.repos.get_commit('user-name', 'repo-name', '6dcb09b5b57875f334f61aebed6')
|
81
|
+
#
|
82
|
+
def get_commit(user, repo, sha)
|
83
|
+
get("/repos/#{user}/#{repo}/commits/#{sha}")
|
84
|
+
end
|
85
|
+
|
86
|
+
# Gets a single commit comment
|
87
|
+
#
|
88
|
+
# = Examples
|
89
|
+
# @github = Github.new
|
90
|
+
# @github.repos.get_comment 'user-name', 'repo-name', 'comment-id'
|
91
|
+
#
|
92
|
+
def get_comment(user, repo, comment_id)
|
93
|
+
get("/repos/#{user}/#{repo}/comments/#{comment_id}")
|
94
|
+
end
|
95
|
+
|
96
|
+
# Gets a single commit
|
97
|
+
#
|
98
|
+
def get_commit(user, repo, sha)
|
99
|
+
get("/repos/#{user}/#{repo}/commits/#{sha}")
|
100
|
+
end
|
101
|
+
|
102
|
+
# Update a commit comment
|
103
|
+
#
|
104
|
+
# = Examples
|
105
|
+
# @github = Github.new
|
106
|
+
# @github.repos.update_comment(...)
|
107
|
+
#
|
108
|
+
def update_comment(user, repo, comment_id)
|
109
|
+
raise ArgumentError, "expected following inputs to the method: 'body'" unless _validate_inputs(["body"], inputs)
|
110
|
+
patch("/repos/#{user}/#{repo}/comments/#{comment_id}")
|
111
|
+
end
|
112
|
+
|
113
|
+
end # Commits
|
114
|
+
end # Repos
|
115
|
+
end # Github
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Github
|
4
|
+
class Repos
|
5
|
+
module Downloads
|
6
|
+
|
7
|
+
REQUIRED_PARAMS = %w[ name size ]
|
8
|
+
VALID_PARAMS = %w[ name size description content_type ]
|
9
|
+
|
10
|
+
REQUIRED_S3_PARAMS = %w[ key acl success_action_status Filename AWSAccessKeyId Policy Signature Content-Type file ]
|
11
|
+
|
12
|
+
# List downloads for a repository
|
13
|
+
#
|
14
|
+
# GET /repos/:user/:repo/downloads
|
15
|
+
#
|
16
|
+
def downloads(user, repo)
|
17
|
+
get("/repos/#{user}/#{repo}/downloads")
|
18
|
+
end
|
19
|
+
|
20
|
+
# Get a single download
|
21
|
+
#
|
22
|
+
# GET /repos/:user/:repo/downloads/:id
|
23
|
+
#
|
24
|
+
def get_download(user, repo, download_id)
|
25
|
+
get("/repos/#{user}/#{repo}/downloads/#{download_id}")
|
26
|
+
end
|
27
|
+
|
28
|
+
# Delete download from a repository
|
29
|
+
#
|
30
|
+
# DELETE /repos/:user/:repo/downloads/:id
|
31
|
+
#
|
32
|
+
def delete_download(user, repo, download_id)
|
33
|
+
delete("/repos/#{user}/#{repo}/downloads/#{download_id}")
|
34
|
+
end
|
35
|
+
|
36
|
+
# Creating a new download is a two step process.
|
37
|
+
# You must first create a new download resource using this method.
|
38
|
+
# Response from this method is to be used in #upload method.
|
39
|
+
#
|
40
|
+
# POST /repos/:user/:repo/downloads
|
41
|
+
#
|
42
|
+
def create_download(user, repo, params={})
|
43
|
+
_normalize_params_keys(params)
|
44
|
+
raise ArgumentError, "expected following inputs to the method: #{REQUIRED_INPUTS.join(', ')}" unless _valid_inputs(REQUIRED_PARAMS, params)
|
45
|
+
_filter_params_keys(VALID_PARAMS, params)
|
46
|
+
|
47
|
+
post("/repos/#{user}/#{repo}/downloads", params)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Upload a file to Amazon, using the reponse instance from
|
51
|
+
# Github::Repos::Downloads#create. This can be done by passing
|
52
|
+
# the response object as an argument to upload method.
|
53
|
+
#
|
54
|
+
def upload(result, file)
|
55
|
+
REQUIRED_S3_PARAMS.each do |key|
|
56
|
+
raise ArgumentError, "expected following keys: #{REQUIRED_S3_PARAMS.join(', ')}" unless result.respond_to?(key)
|
57
|
+
end
|
58
|
+
|
59
|
+
# TODO use ordered hash if Ruby < 1.9
|
60
|
+
mapped_params = {
|
61
|
+
"key" => result.path,
|
62
|
+
"acl" => result.acl,
|
63
|
+
"success_action_status" => 201,
|
64
|
+
"Filename" => result.name,
|
65
|
+
"AWSAccessKeyId" => result.accesskeyid,
|
66
|
+
"Policy" => result.policy,
|
67
|
+
"Signature" => result.signature,
|
68
|
+
"Content-Type" => result.mime_type,
|
69
|
+
"file" => file
|
70
|
+
}
|
71
|
+
|
72
|
+
post(result.s3_url, mapped_params)
|
73
|
+
end
|
74
|
+
|
75
|
+
end # Downloads
|
76
|
+
end # Repos
|
77
|
+
end # Github
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Github
|
4
|
+
class Repos
|
5
|
+
module Forks
|
6
|
+
|
7
|
+
# List forks
|
8
|
+
#
|
9
|
+
# GET /repos/:user/:repo/forks
|
10
|
+
#
|
11
|
+
# Examples
|
12
|
+
#
|
13
|
+
def forks(user, repo)
|
14
|
+
get("/repos/#{user}/#{repo}/forks")
|
15
|
+
end
|
16
|
+
|
17
|
+
# Create a fork for the authenticated user
|
18
|
+
#
|
19
|
+
# POST /repos/:user/:repo/forks
|
20
|
+
#
|
21
|
+
def create_fork(user, repo, params={})
|
22
|
+
_normalize_params_keys(params)
|
23
|
+
_filter_params_keys(%w[ org ], params)
|
24
|
+
|
25
|
+
post("/repos/#{user}/#{repo}/forks", params)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end # Github
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Github
|
4
|
+
class Repos
|
5
|
+
module Hooks
|
6
|
+
|
7
|
+
REQUIRED_PARAMS = %w[ name config ]
|
8
|
+
|
9
|
+
# List repository hooks
|
10
|
+
#
|
11
|
+
# GET /repos/:user/:repo/hooks
|
12
|
+
#
|
13
|
+
def hooks(user, repo)
|
14
|
+
get("/repos/#{user}/#{repo}/hooks")
|
15
|
+
end
|
16
|
+
|
17
|
+
# Get a single hook
|
18
|
+
#
|
19
|
+
# GET /repos/:user/:repo/hooks/:id
|
20
|
+
#
|
21
|
+
def get_hook(user, repo, hook_id)
|
22
|
+
get("/repos/#{user}/#{repo}/hooks/#{hook_id}")
|
23
|
+
end
|
24
|
+
|
25
|
+
# Create a hook
|
26
|
+
#
|
27
|
+
# POST /repos/:user/:repo/hooks
|
28
|
+
#
|
29
|
+
def create_hook(user, repo, params)
|
30
|
+
_normalize_params_keys(params)
|
31
|
+
_filter_params_keys(%w[ name config active ], params)
|
32
|
+
raise ArgumentError, "Required parameters are: #{REQUIRED_PARAMS.join(', ')}" unless _validate_inputs(REQUIRED_PARAMS, params)
|
33
|
+
|
34
|
+
post("/repos/#{user}/#{repo}/hooks", params)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Edit a hook
|
38
|
+
#
|
39
|
+
# PATCH /repos/:user/:repo/hooks/:id
|
40
|
+
#
|
41
|
+
def edit_hook(user, repo, hook_id, params)
|
42
|
+
_normalize_params_keys(params)
|
43
|
+
_filter_params_keys(%w[ name config active ], params)
|
44
|
+
raise ArgumentError, "Required parameters are: #{REQUIRED_PARAMS.join(', ')}" unless _validate_inputs(REQUIRED_PARAMS, params)
|
45
|
+
|
46
|
+
patch("/repos/#{user}/#{repo}/hooks/#{hook_id}")
|
47
|
+
end
|
48
|
+
|
49
|
+
# Test a hook
|
50
|
+
#
|
51
|
+
# POST /repos/:user/:repo/hooks/:id/test
|
52
|
+
#
|
53
|
+
def test_hook(user, repo, hook_id)
|
54
|
+
post("/repos/#{user}/#{repo}/hooks/#{hook_id}/test")
|
55
|
+
end
|
56
|
+
|
57
|
+
# Delete a hook
|
58
|
+
#
|
59
|
+
# DELETE /repos/:user/:repo/hooks/:id
|
60
|
+
#
|
61
|
+
def delete_hook(user, repo, hook_id)
|
62
|
+
delete("/repos/#{user}/#{repo}/hooks/#{hook_id}")
|
63
|
+
end
|
64
|
+
|
65
|
+
end # Hooks
|
66
|
+
end # Repos
|
67
|
+
end # Github
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Github
|
4
|
+
class Repos
|
5
|
+
module Keys
|
6
|
+
|
7
|
+
# List keys
|
8
|
+
#
|
9
|
+
# GET /repos/:user/:repo/keys
|
10
|
+
#
|
11
|
+
def keys(user, repo)
|
12
|
+
get("/repos/#{user}/#{repo}/keys")
|
13
|
+
end
|
14
|
+
|
15
|
+
# Get a key
|
16
|
+
#
|
17
|
+
# GET /repos/:user/:repo/keys/:id
|
18
|
+
#
|
19
|
+
def get_key(user, repo, key_id)
|
20
|
+
get("/repos/#{user}/#{repo}/keys/#{key_id}")
|
21
|
+
end
|
22
|
+
|
23
|
+
# Create a key
|
24
|
+
#
|
25
|
+
# POST /repos/:user/:repo/keys
|
26
|
+
def create_key(user, repo, params={})
|
27
|
+
_normalize_params_keys(params)
|
28
|
+
_filter_params_keys(%w[ title key ], params)
|
29
|
+
|
30
|
+
post("/repos/#{user}/#{repo}/keys", params)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Edit key
|
34
|
+
#
|
35
|
+
# PATCH /repos/:user/:repo/keys/:id
|
36
|
+
#
|
37
|
+
def edit_key(user, repo, key_id)
|
38
|
+
_normalize_params_keys(params)
|
39
|
+
_filter_params_keys(%w[ title key ], params)
|
40
|
+
|
41
|
+
patch("/repos/#{user}/#{repo}/keys/#{key_id}")
|
42
|
+
end
|
43
|
+
|
44
|
+
# Delete key
|
45
|
+
#
|
46
|
+
# DELETE /repos/:user/:repo/keys/:id
|
47
|
+
def delete_key(user, repo, key_id)
|
48
|
+
delete("/repos/#{user}/#{repo}/keys/#{key_id}")
|
49
|
+
end
|
50
|
+
|
51
|
+
end # Keys
|
52
|
+
end # Repos
|
53
|
+
end # Github
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Github
|
4
|
+
class Repos
|
5
|
+
module Watching
|
6
|
+
|
7
|
+
# List repo watchers
|
8
|
+
#
|
9
|
+
# GET /repos/:user/:repo/watchers
|
10
|
+
#
|
11
|
+
def watchers
|
12
|
+
get("/repos/#{user}/#{repo}/watchers")
|
13
|
+
end
|
14
|
+
|
15
|
+
# List repos being watched
|
16
|
+
def watched(user=nil)
|
17
|
+
if user
|
18
|
+
get("/users/#{user}/watched")
|
19
|
+
else
|
20
|
+
get("/user/watched")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Check if you are watching a repo
|
25
|
+
#
|
26
|
+
# GET /user/watched/:user/:repo
|
27
|
+
#
|
28
|
+
def watching?(user, repo)
|
29
|
+
get("/user/watched/#{user}/#{repo}")
|
30
|
+
end
|
31
|
+
|
32
|
+
# Watch a repo
|
33
|
+
#
|
34
|
+
# PUT /user/watched/:user/:repo
|
35
|
+
#
|
36
|
+
def start_watching(user, repo)
|
37
|
+
put("/user/watched/#{user}/#{repo}")
|
38
|
+
end
|
39
|
+
|
40
|
+
# Stop watching a repo
|
41
|
+
#
|
42
|
+
# DELETE /user/watched/:user/:repo
|
43
|
+
#
|
44
|
+
def stop_watching(user, repo)
|
45
|
+
delete("/user/watched/#{user}/#{repo}")
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'base64'
|
4
|
+
require 'addressable/uri'
|
5
|
+
require 'set'
|
6
|
+
|
7
|
+
module Github
|
8
|
+
# Defines HTTP verbs
|
9
|
+
module Request
|
10
|
+
|
11
|
+
METHODS = [:get, :post, :put, :delete, :patch]
|
12
|
+
METHODS_WITH_BODIES = [ :post, :put, :patch ]
|
13
|
+
|
14
|
+
TOKEN_REQUIRED_REGEXP = [
|
15
|
+
/repos\/.*\/.*\/comments/,
|
16
|
+
]
|
17
|
+
|
18
|
+
def get(path, params={}, options={})
|
19
|
+
request(:get, path, params, options)
|
20
|
+
end
|
21
|
+
|
22
|
+
def patch(path, params={}, options={})
|
23
|
+
request(:patch, path, params, options)
|
24
|
+
end
|
25
|
+
|
26
|
+
def post(path, params={}, options={})
|
27
|
+
request(:post, path, params, options)
|
28
|
+
end
|
29
|
+
|
30
|
+
def put(path, params={}, options={})
|
31
|
+
request(:put, path, params, options)
|
32
|
+
end
|
33
|
+
|
34
|
+
def delete(path, params={}, options={})
|
35
|
+
request(:delete, path, params, options)
|
36
|
+
end
|
37
|
+
|
38
|
+
def request(method, path, params, options)
|
39
|
+
if !METHODS.include?(method)
|
40
|
+
raise ArgumentError, "unkown http method: #{method}"
|
41
|
+
end
|
42
|
+
|
43
|
+
puts "EXECUTED: #{method} - #{path} with #{params} and #{options}"
|
44
|
+
|
45
|
+
response = connection(options).send(method) do |request|
|
46
|
+
case method.to_sym
|
47
|
+
when *(METHODS - METHODS_WITH_BODIES)
|
48
|
+
request.url(path, params)
|
49
|
+
when *METHODS_WITH_BODIES
|
50
|
+
request.path = path
|
51
|
+
request.body = _process_params(params) unless params.empty?
|
52
|
+
end
|
53
|
+
end
|
54
|
+
response.body
|
55
|
+
end
|
56
|
+
|
57
|
+
def _process_params(params)
|
58
|
+
return params['data'] if params.has_key?('data')
|
59
|
+
return params
|
60
|
+
end
|
61
|
+
# no need for this smizzle
|
62
|
+
def formatted_path(path, options={})
|
63
|
+
[ path, options.fetch(:format, format) ].compact.join('.')
|
64
|
+
end
|
65
|
+
|
66
|
+
def basic_auth(login, password)
|
67
|
+
auth = Base64.encode("#{login}:#{password}")
|
68
|
+
auth.gsub!("\n", "")
|
69
|
+
end
|
70
|
+
|
71
|
+
def token_auth
|
72
|
+
end
|
73
|
+
|
74
|
+
end # Request
|
75
|
+
end # Github
|