github_api 0.15.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +770 -0
- data/README.md +25 -8
- data/lib/github_api.rb +37 -76
- data/lib/github_api/api.rb +46 -19
- data/lib/github_api/api/arguments.rb +6 -1
- data/lib/github_api/api/config.rb +3 -5
- data/lib/github_api/api/config/property_set.rb +1 -0
- data/lib/github_api/authorization.rb +2 -0
- data/lib/github_api/client.rb +5 -0
- data/lib/github_api/client/activity.rb +2 -0
- data/lib/github_api/client/activity/events.rb +2 -0
- data/lib/github_api/client/activity/feeds.rb +2 -0
- data/lib/github_api/client/activity/notifications.rb +2 -0
- data/lib/github_api/client/activity/starring.rb +3 -1
- data/lib/github_api/client/activity/watching.rb +3 -1
- data/lib/github_api/client/authorizations.rb +2 -0
- data/lib/github_api/client/authorizations/app.rb +3 -1
- data/lib/github_api/client/emojis.rb +2 -0
- data/lib/github_api/client/gists.rb +4 -2
- data/lib/github_api/client/gists/comments.rb +3 -1
- data/lib/github_api/client/git_data.rb +2 -0
- data/lib/github_api/client/git_data/blobs.rb +2 -1
- data/lib/github_api/client/git_data/commits.rb +2 -0
- data/lib/github_api/client/git_data/references.rb +6 -2
- data/lib/github_api/client/git_data/tags.rb +2 -0
- data/lib/github_api/client/git_data/trees.rb +2 -0
- data/lib/github_api/client/gitignore.rb +2 -0
- data/lib/github_api/client/issues.rb +2 -0
- data/lib/github_api/client/issues/assignees.rb +35 -0
- data/lib/github_api/client/issues/comments.rb +2 -0
- data/lib/github_api/client/issues/events.rb +2 -0
- data/lib/github_api/client/issues/labels.rb +2 -0
- data/lib/github_api/client/issues/milestones.rb +2 -0
- data/lib/github_api/client/markdown.rb +4 -2
- data/lib/github_api/client/meta.rb +2 -0
- data/lib/github_api/client/orgs.rb +6 -0
- data/lib/github_api/client/orgs/hooks.rb +2 -0
- data/lib/github_api/client/orgs/members.rb +2 -0
- data/lib/github_api/client/orgs/memberships.rb +2 -0
- data/lib/github_api/client/orgs/projects.rb +57 -0
- data/lib/github_api/client/orgs/teams.rb +5 -3
- data/lib/github_api/client/projects.rb +83 -0
- data/lib/github_api/client/projects/cards.rb +158 -0
- data/lib/github_api/client/projects/columns.rb +146 -0
- data/lib/github_api/client/pull_requests.rb +2 -0
- data/lib/github_api/client/pull_requests/comments.rb +2 -0
- data/lib/github_api/client/pull_requests/reviews.rb +2 -0
- data/lib/github_api/client/repos.rb +27 -15
- data/lib/github_api/client/repos/branches.rb +48 -0
- data/lib/github_api/client/repos/branches/protections.rb +75 -0
- data/lib/github_api/client/repos/collaborators.rb +2 -1
- data/lib/github_api/client/repos/comments.rb +2 -1
- data/lib/github_api/client/repos/commits.rb +2 -0
- data/lib/github_api/client/repos/contents.rb +26 -4
- data/lib/github_api/client/repos/deployments.rb +3 -1
- data/lib/github_api/client/repos/downloads.rb +2 -0
- data/lib/github_api/client/repos/forks.rb +6 -2
- data/lib/github_api/client/repos/hooks.rb +2 -0
- data/lib/github_api/client/repos/invitations.rb +41 -0
- data/lib/github_api/client/repos/keys.rb +2 -0
- data/lib/github_api/client/repos/merging.rb +2 -0
- data/lib/github_api/client/repos/pages.rb +2 -0
- data/lib/github_api/client/repos/projects.rb +62 -0
- data/lib/github_api/client/repos/pub_sub_hubbub.rb +6 -6
- data/lib/github_api/client/repos/releases.rb +2 -0
- data/lib/github_api/client/repos/releases/assets.rb +3 -1
- data/lib/github_api/client/repos/releases/tags.rb +2 -0
- data/lib/github_api/client/repos/statistics.rb +2 -0
- data/lib/github_api/client/repos/statuses.rb +2 -0
- data/lib/github_api/client/say.rb +2 -0
- data/lib/github_api/client/scopes.rb +2 -0
- data/lib/github_api/client/search.rb +3 -0
- data/lib/github_api/client/search/legacy.rb +2 -0
- data/lib/github_api/client/users.rb +2 -0
- data/lib/github_api/client/users/emails.rb +3 -0
- data/lib/github_api/client/users/followers.rb +3 -1
- data/lib/github_api/client/users/keys.rb +2 -0
- data/lib/github_api/configuration.rb +4 -1
- data/lib/github_api/connection.rb +5 -1
- data/lib/github_api/error.rb +1 -4
- data/lib/github_api/error/client_error.rb +4 -2
- data/lib/github_api/error/service_error.rb +9 -2
- data/lib/github_api/ext/faraday.rb +3 -1
- data/lib/github_api/mash.rb +7 -0
- data/lib/github_api/middleware.rb +8 -6
- data/lib/github_api/normalizer.rb +3 -5
- data/lib/github_api/page_iterator.rb +4 -1
- data/lib/github_api/page_links.rb +4 -0
- data/lib/github_api/paged_request.rb +2 -0
- data/lib/github_api/pagination.rb +10 -7
- data/lib/github_api/parameter_filter.rb +4 -1
- data/lib/github_api/params_hash.rb +4 -4
- data/lib/github_api/request.rb +8 -9
- data/lib/github_api/request/basic_auth.rb +1 -1
- data/lib/github_api/request/jsonize.rb +0 -1
- data/lib/github_api/request/oauth2.rb +2 -0
- data/lib/github_api/request/verbs.rb +3 -0
- data/lib/github_api/response/follow_redirects.rb +140 -0
- data/lib/github_api/response/header.rb +6 -1
- data/lib/github_api/response/mashify.rb +2 -3
- data/lib/github_api/response/raise_error.rb +2 -1
- data/lib/github_api/response_wrapper.rb +5 -0
- data/lib/github_api/utils/url.rb +2 -0
- data/lib/github_api/validations.rb +5 -8
- data/lib/github_api/validations/format.rb +2 -0
- data/lib/github_api/validations/presence.rb +3 -1
- data/lib/github_api/validations/required.rb +2 -0
- data/lib/github_api/version.rb +2 -2
- metadata +100 -36
- data/lib/github_api/core_ext/ordered_hash.rb +0 -107
- data/lib/github_api/requestable.rb +0 -67
- data/lib/github_api/resource.rb +0 -13
@@ -1,107 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github
|
4
|
-
module CoreExt #:nodoc:
|
5
|
-
|
6
|
-
if RUBY_VERSION >= '1.9'
|
7
|
-
class OrderedHash < ::Hash; end
|
8
|
-
else
|
9
|
-
class OrderedHash < ::Hash
|
10
|
-
attr_accessor :order
|
11
|
-
|
12
|
-
class << self
|
13
|
-
def [](*args)
|
14
|
-
hsh = OrderedHash.new
|
15
|
-
if Hash == args[0]
|
16
|
-
hsh.replace args[0]
|
17
|
-
elsif (args.size % 2) != 0
|
18
|
-
pp args if ENV['DEBUG']
|
19
|
-
raise ArgumentError, "odd number of elements for Hash"
|
20
|
-
else
|
21
|
-
0.step(args.size - 1, 2) do |a|
|
22
|
-
b = a + 1
|
23
|
-
hsh[args[a]] = args[b]
|
24
|
-
end
|
25
|
-
end
|
26
|
-
hsh
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def initialize(*args, &block)
|
31
|
-
super
|
32
|
-
@order = []
|
33
|
-
end
|
34
|
-
|
35
|
-
def []=(key, value)
|
36
|
-
@order.push key unless member?(key)
|
37
|
-
super key, value
|
38
|
-
end
|
39
|
-
|
40
|
-
def ==(hsh2)
|
41
|
-
return false if @order != hsh2.order
|
42
|
-
super hsh2
|
43
|
-
end
|
44
|
-
|
45
|
-
def clear
|
46
|
-
@order = []
|
47
|
-
super
|
48
|
-
end
|
49
|
-
|
50
|
-
def delete(key)
|
51
|
-
@order.delete key
|
52
|
-
super
|
53
|
-
end
|
54
|
-
|
55
|
-
def each_key
|
56
|
-
@order.each { |k| yield k }
|
57
|
-
self
|
58
|
-
end
|
59
|
-
|
60
|
-
def each_value
|
61
|
-
@order.each { |k| yield self[k] }
|
62
|
-
self
|
63
|
-
end
|
64
|
-
|
65
|
-
def each
|
66
|
-
@order.each { |k| yield k, self[k] }
|
67
|
-
self
|
68
|
-
end
|
69
|
-
alias :each_pair :each
|
70
|
-
|
71
|
-
def delete_if
|
72
|
-
@order.clone.each { |k| delete k if yield }
|
73
|
-
self
|
74
|
-
end
|
75
|
-
|
76
|
-
def values
|
77
|
-
ary = []
|
78
|
-
@order.each { |k| ary.push self[k] }
|
79
|
-
ary
|
80
|
-
end
|
81
|
-
|
82
|
-
def keys
|
83
|
-
@order
|
84
|
-
end
|
85
|
-
|
86
|
-
def replace(hsh2)
|
87
|
-
@order = hsh2.keys
|
88
|
-
super hsh2
|
89
|
-
end
|
90
|
-
|
91
|
-
def shift
|
92
|
-
key = @order.first
|
93
|
-
key ? [key, delete(key)] : super
|
94
|
-
end
|
95
|
-
|
96
|
-
def class
|
97
|
-
Hash
|
98
|
-
end
|
99
|
-
|
100
|
-
def __class__
|
101
|
-
OrderedHash
|
102
|
-
end
|
103
|
-
end # OrderedHash
|
104
|
-
end
|
105
|
-
|
106
|
-
end # CoreExt
|
107
|
-
end # Github
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github
|
4
|
-
# Defines HTTP verbs
|
5
|
-
module Request
|
6
|
-
|
7
|
-
METHODS = [:get, :post, :put, :delete, :patch]
|
8
|
-
METHODS_WITH_BODIES = [ :post, :put, :patch ]
|
9
|
-
|
10
|
-
def get_request(path, params={}, options={})
|
11
|
-
request(:get, path, params, options)
|
12
|
-
end
|
13
|
-
|
14
|
-
def patch_request(path, params={}, options={})
|
15
|
-
request(:patch, path, params, options)
|
16
|
-
end
|
17
|
-
|
18
|
-
def post_request(path, params={}, options={})
|
19
|
-
request(:post, path, params, options)
|
20
|
-
end
|
21
|
-
|
22
|
-
def put_request(path, params={}, options={})
|
23
|
-
request(:put, path, params, options)
|
24
|
-
end
|
25
|
-
|
26
|
-
def delete_request(path, params={}, options={})
|
27
|
-
request(:delete, path, params, options)
|
28
|
-
end
|
29
|
-
|
30
|
-
def request(method, path, params, options)
|
31
|
-
if !METHODS.include?(method)
|
32
|
-
raise ArgumentError, "unkown http method: #{method}"
|
33
|
-
end
|
34
|
-
# _extract_mime_type(params, options)
|
35
|
-
|
36
|
-
puts "EXECUTED: #{method} - #{path} with #{params} and #{options}" if ENV['DEBUG']
|
37
|
-
|
38
|
-
conn = connection(options)
|
39
|
-
path = (conn.path_prefix + path).gsub(/\/\//,'/') if conn.path_prefix != '/'
|
40
|
-
|
41
|
-
response = conn.send(method) do |request|
|
42
|
-
case method.to_sym
|
43
|
-
when *(METHODS - METHODS_WITH_BODIES)
|
44
|
-
request.body = params.delete('data') if params.has_key?('data')
|
45
|
-
request.url(path, params)
|
46
|
-
when *METHODS_WITH_BODIES
|
47
|
-
request.path = path
|
48
|
-
request.body = extract_data_from_params(params) unless params.empty?
|
49
|
-
end
|
50
|
-
end
|
51
|
-
response.body
|
52
|
-
end
|
53
|
-
|
54
|
-
private
|
55
|
-
|
56
|
-
def extract_data_from_params(params) # :nodoc:
|
57
|
-
return params['data'] if params.has_key?('data') and !params['data'].nil?
|
58
|
-
return params
|
59
|
-
end
|
60
|
-
|
61
|
-
def _extract_mime_type(params, options) # :nodoc:
|
62
|
-
options['resource'] = params['resource'] ? params.delete('resource') : ''
|
63
|
-
options['mime_type'] = params['resource'] ? params.delete('mime_type') : ''
|
64
|
-
end
|
65
|
-
|
66
|
-
end # Request
|
67
|
-
end # Github
|