github_api 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,6 @@
1
- = github {<img src="http://travis-ci.org/peter-murach/github.png?branch=master" />}[http://travis-ci.org/peter-murach/github]
1
+ = GithubAPI {<img src="http://travis-ci.org/peter-murach/github.png?branch=master" />}[http://travis-ci.org/peter-murach/github] {<img src="https://gemnasium.com/peter-murach/github.png?travis" />}[https://gemnasium.com/peter-murach/github]
2
+
3
+ Wiki[https://github.com/peter-murach/github/wiki] | RDocs[http://rubydoc.info/github/peter-murach/github/master/frames]
2
4
 
3
5
  A Ruby wrapper for the GitHub REST API v3.
4
6
 
@@ -12,7 +14,7 @@ Grab the gem by issuing
12
14
 
13
15
  or in your Gemfile
14
16
 
15
- gem "github_api", "~> 0.3.2"
17
+ gem "github_api"
16
18
 
17
19
  == Usage
18
20
 
@@ -20,7 +22,7 @@ Create a new client instance
20
22
 
21
23
  @github = Github.new
22
24
 
23
- At this stage you can also supply various configuration parameters, such as :user, :repo, :org, :oauth_token, :login, :password or :basic_auth which are used thoughtout the API
25
+ At this stage you can also supply various configuration parameters, such as :user, :repo, :org, :oauth_token, :login, :password or :basic_auth which are used throughout the API
24
26
 
25
27
  @github = Github.new :user => 'peter-murach', :repo => 'github-api'
26
28
 
@@ -12,6 +12,14 @@ require 'github_api/request/basic_auth'
12
12
  module Github
13
13
  module Connection
14
14
 
15
+ ALLOWED_OPTIONS = [
16
+ :headers,
17
+ :url,
18
+ :params,
19
+ :request,
20
+ :ssl
21
+ ].freeze
22
+
15
23
  private
16
24
 
17
25
  def header_options() # :nodoc:
@@ -42,13 +50,11 @@ module Github
42
50
  # else
43
51
  # connection_options.merge(header_options)
44
52
  # end
45
- merged_options = header_options.merge(options)
46
-
53
+ merged_options = _filter_params_keys(ALLOWED_OPTIONS, header_options.merge(options))
47
54
  clear_cache unless options.empty?
48
55
 
49
56
  @connection ||= begin
50
57
  Faraday.new(merged_options) do |builder|
51
-
52
58
  puts options.inspect
53
59
 
54
60
  builder.use Faraday::Request::JSON
@@ -29,7 +29,7 @@ module Github
29
29
  body
30
30
  resource
31
31
  mime_type
32
- ]
32
+ ].freeze
33
33
 
34
34
  VALID_ISSUE_PARAM_VALUES = {
35
35
  'filter' => %w[ assigned created mentioned subscribed ],
@@ -77,6 +77,7 @@ module Github
77
77
  return response unless block_given?
78
78
  response.each { |el| yield el }
79
79
  end
80
+ alias :list_issues :issues
80
81
 
81
82
  # List issues for a repository
82
83
  #
@@ -121,6 +122,9 @@ module Github
121
122
  return response unless block_given?
122
123
  response.each { |el| yield el }
123
124
  end
125
+ alias :repository_issues :repo_issues
126
+ alias :list_repo_issues :repo_issues
127
+ alias :list_repository_issues :repo_issues
124
128
 
125
129
  # Get a single issue
126
130
  #
@@ -128,15 +132,17 @@ module Github
128
132
  # @github = Github.new
129
133
  # @github.issues.get_issue 'user-name', 'repo-name', 'issue-id'
130
134
  #
131
- def get_issue(user_name, repo_name, issue_id, params={})
135
+ def issue(user_name, repo_name, issue_id, params={})
132
136
  _update_user_repo_params(user_name, repo_name)
133
137
  _validate_user_repo_params(user, repo) unless user? && repo?
138
+ _validate_presence_of issue_id
134
139
 
135
140
  _normalize_params_keys(params)
136
141
  _merge_mime_type(:issue, params)
137
142
 
138
143
  get("/repos/#{user}/#{repo}/issues/#{issue_id}")
139
144
  end
145
+ alias :get_issue :issue
140
146
 
141
147
  # Create an issue
142
148
  #
@@ -164,7 +170,7 @@ module Github
164
170
 
165
171
  _normalize_params_keys(params)
166
172
  _merge_mime_type(:issue, params)
167
- _filter_params_keys(VALID_MILESTONE_INPUTS, params)
173
+ _filter_params_keys(VALID_ISSUE_PARAM_NAMES, params)
168
174
 
169
175
  raise ArgumentError, "Required params are: :title" unless _validate_inputs(%w[ title ], params)
170
176
 
@@ -4,7 +4,7 @@ module Github
4
4
  module VERSION
5
5
  MAJOR = 0
6
6
  MINOR = 3
7
- PATCH = 3
7
+ PATCH = 4
8
8
  BUILD = nil
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.');
@@ -0,0 +1,22 @@
1
+ = GithubAPI
2
+
3
+ == Running the specs and features
4
+
5
+ To run the specs first run the +bundle+ command to install the necessary gems and then +rake+ command to run the specs.
6
+
7
+ bundle
8
+ rake
9
+
10
+ The specs currently require Ruby 1.9.x.
11
+
12
+ == Coverage
13
+
14
+ GithubAPI will run coverage only on demand and to run it do
15
+
16
+ COVERAGE=true rake
17
+
18
+ == Automation
19
+
20
+ You can also run specs and features when you do file modifications by typing
21
+
22
+ COVERAGE=true guard
@@ -0,0 +1,14 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.adapters.define 'github_api' do
4
+ add_filter "/spec/"
5
+ add_filter "/features/"
6
+
7
+ add_group 'Repos', 'lib/github_api/repos'
8
+ add_group 'Orgs', 'lib/github_api/orgs'
9
+ add_group 'Users', 'lib/github_api/users'
10
+ add_group 'Issues', 'lib/github_api/issues'
11
+ add_group 'Gists', 'lib/github_api/gists'
12
+ add_group 'Git Data','lib/github_api/git_data'
13
+ add_group 'Pull Requests','lib/github_api/pull_requests'
14
+ end # SimpleCov
@@ -0,0 +1,56 @@
1
+ {
2
+ "url": "https://api.github.com/repos/octocat/Hello-World/issues/1",
3
+ "html_url": "https://github.com/octocat/Hello-World/issues/1",
4
+ "number": 1347,
5
+ "state": "open",
6
+ "title": "Found a bug",
7
+ "body": "I'm having a problem with this.",
8
+ "user": {
9
+ "login": "octocat",
10
+ "id": 1,
11
+ "avatar_url": "https://github.com/images/error/octocat",
12
+ "gravatar_id": "somehexcode",
13
+ "url": "https://api.github.com/users/octocat"
14
+ },
15
+ "labels": [
16
+ {
17
+ "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug",
18
+ "name": "bug",
19
+ "color": "f29513"
20
+ }
21
+ ],
22
+ "assignee": {
23
+ "login": "octocat",
24
+ "id": 1,
25
+ "avatar_url": "https://github.com/images/error/octocat_happy.gif",
26
+ "gravatar_id": "somehexcode",
27
+ "url": "https://api.github.com/users/octocat"
28
+ },
29
+ "milestone": {
30
+ "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1",
31
+ "number": 1,
32
+ "state": "open",
33
+ "title": "v1.0",
34
+ "description": "",
35
+ "creator": {
36
+ "login": "octocat",
37
+ "id": 1,
38
+ "avatar_url": "https://github.com/images/error/octocat_happy.gif",
39
+ "gravatar_id": "somehexcode",
40
+ "url": "https://api.github.com/users/octocat"
41
+ },
42
+ "open_issues": 4,
43
+ "closed_issues": 8,
44
+ "created_at": "2011-04-10T20:09:31Z",
45
+ "due_on": null
46
+ },
47
+ "comments": 0,
48
+ "pull_request": {
49
+ "html_url": "https://github.com/octocat/Hello-World/issues/1",
50
+ "diff_url": "https://github.com/octocat/Hello-World/issues/1.diff",
51
+ "patch_url": "https://github.com/octocat/Hello-World/issues/1.patch"
52
+ },
53
+ "closed_at": null,
54
+ "created_at": "2011-04-22T13:33:48Z",
55
+ "updated_at": "2011-04-22T13:33:48Z"
56
+ }
@@ -0,0 +1,58 @@
1
+ [
2
+ {
3
+ "url": "https://api.github.com/repos/octocat/Hello-World/issues/1",
4
+ "html_url": "https://github.com/octocat/Hello-World/issues/1",
5
+ "number": 1347,
6
+ "state": "open",
7
+ "title": "Found a bug",
8
+ "body": "I'm having a problem with this.",
9
+ "user": {
10
+ "login": "octocat",
11
+ "id": 1,
12
+ "avatar_url": "https://github.com/images/error/octocat",
13
+ "gravatar_id": "somehexcode",
14
+ "url": "https://api.github.com/users/octocat"
15
+ },
16
+ "labels": [
17
+ {
18
+ "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug",
19
+ "name": "bug",
20
+ "color": "f29513"
21
+ }
22
+ ],
23
+ "assignee": {
24
+ "login": "octocat",
25
+ "id": 1,
26
+ "avatar_url": "https://github.com/images/error/octocat_happy.gif",
27
+ "gravatar_id": "somehexcode",
28
+ "url": "https://api.github.com/users/octocat"
29
+ },
30
+ "milestone": {
31
+ "url": "https://api.github.com/repos/octocat/Hello-World/milestones/1",
32
+ "number": 1,
33
+ "state": "open",
34
+ "title": "v1.0",
35
+ "description": "",
36
+ "creator": {
37
+ "login": "octocat",
38
+ "id": 1,
39
+ "avatar_url": "https://github.com/images/error/octocat_happy.gif",
40
+ "gravatar_id": "somehexcode",
41
+ "url": "https://api.github.com/users/octocat"
42
+ },
43
+ "open_issues": 4,
44
+ "closed_issues": 8,
45
+ "created_at": "2011-04-10T20:09:31Z",
46
+ "due_on": null
47
+ },
48
+ "comments": 0,
49
+ "pull_request": {
50
+ "html_url": "https://github.com/octocat/Hello-World/issues/1",
51
+ "diff_url": "https://github.com/octocat/Hello-World/issues/1.diff",
52
+ "patch_url": "https://github.com/octocat/Hello-World/issues/1.patch"
53
+ },
54
+ "closed_at": null,
55
+ "created_at": "2011-04-22T13:33:48Z",
56
+ "updated_at": "2011-04-22T13:33:48Z"
57
+ }
58
+ ]
@@ -23,6 +23,43 @@ describe Github::Authorization do
23
23
  github.client.token_url.should == 'https://github.com/login/oauth/access_token'
24
24
  end
25
25
 
26
+ context '.client' do
27
+ it { github.should respond_to :client }
28
+
29
+ it "should return OAuth2::Client instance" do
30
+ github.client.should be_a OAuth2::Client
31
+ end
32
+ end
33
+
34
+ context '.auth_code' do
35
+ let(:oauth) { OAuth2::Client.new(client_id, client_secret) }
36
+
37
+ before do
38
+ github = Github.new :client_id => client_id, :client_secret => client_secret
39
+ end
40
+
41
+ after do
42
+ github.client_id, github.client_secret = nil, nil
43
+ end
44
+
45
+ it "should throw an error if no client_id" do
46
+ github.client_id = nil
47
+ expect { github.auth_code }.should raise_error(ArgumentError)
48
+ end
49
+
50
+ it "should throw an error if no client_secret" do
51
+ github.client_secret = nil
52
+ expect { github.auth_code }.should raise_error(ArgumentError)
53
+ end
54
+
55
+ it "should return authentication token code" do
56
+ github.client_id = client_id
57
+ github.client_secret = client_secret
58
+ github.client.stub(:auth_code).and_return code
59
+ github.auth_code.should == code
60
+ end
61
+ end
62
+
26
63
  context "authorize_url" do
27
64
  before do
28
65
  github = Github.new :client_id => client_id, :client_secret => client_secret
@@ -68,11 +105,51 @@ describe Github::Authorization do
68
105
  end
69
106
  end
70
107
 
108
+ context ".authenticated?" do
109
+ it { github.should respond_to :authenticated? }
110
+
111
+ it "should return false if falied on basic authentication" do
112
+ github.stub(:basic_authed?).and_return false
113
+ github.authenticated?.should be_false
114
+ end
115
+
116
+ it "should return true if basic authentication performed" do
117
+ github.stub(:basic_authed?).and_return true
118
+ github.authenticated?.should be_true
119
+ end
120
+
121
+ it "should return true if basic authentication performed" do
122
+ github.stub(:oauth_token?).and_return true
123
+ github.authenticated?.should be_true
124
+ end
125
+ end
126
+
127
+ context ".basic_authed?" do
128
+ it { github.should respond_to :basic_authed? }
129
+
130
+ it "should return false if login is missing" do
131
+ github.stub(:login?).and_return false
132
+ github.basic_authed?.should be_false
133
+ end
134
+
135
+ it "should return true if login && password provided" do
136
+ github.stub(:login?).and_return true
137
+ github.stub(:password?).and_return true
138
+ github.basic_authed?.should be_true
139
+ end
140
+ end
141
+
71
142
  context "authentication" do
72
143
  it "should respond to 'authentication'" do
73
144
  github.should respond_to :authentication
74
145
  end
75
146
 
147
+ it "should return empty hash if no basic authentication params available" do
148
+ github.stub(:login?).and_return false
149
+ github.stub(:basic_auth?).and_return false
150
+ github.authentication.should be_empty
151
+ end
152
+
76
153
  context 'basic_auth' do
77
154
  before do
78
155
  github = Github.new :basic_auth => 'github:pass'
@@ -1,5 +1,287 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Github::Issues do
4
- pending
5
- end
6
+
7
+ let(:issues_api) { Github::Issues }
8
+ let(:github) { Github.new }
9
+ let(:user) { 'peter-murach' }
10
+ let(:repo) { 'github' }
11
+
12
+ describe 'modules inclusion' do
13
+ it { issues_api.included_modules.should include Github::Issues::Comments }
14
+ it { issues_api.included_modules.should include Github::Issues::Events }
15
+ it { issues_api.included_modules.should include Github::Issues::Labels }
16
+ it { issues_api.included_modules.should include Github::Issues::Milestones }
17
+ end
18
+
19
+ describe 'issues' do
20
+ it { github.issues.should respond_to :issues }
21
+ it { github.issues.should respond_to :list_issues }
22
+
23
+ context "resource found" do
24
+ before do
25
+ stub_get("/issues").
26
+ to_return(:body => fixture('issues/issues.json'), :status => 200, :headers => {:content_type => "application/json; charset=utf-8"})
27
+ end
28
+
29
+ it "should get the resources" do
30
+ github.issues.issues
31
+ a_get("/issues").should have_been_made
32
+ end
33
+
34
+ it "should return array of resources" do
35
+ issues = github.issues.issues
36
+ issues.should be_an Array
37
+ issues.should have(1).items
38
+ end
39
+
40
+ it "should be a mash type" do
41
+ issues = github.issues.issues
42
+ issues.first.should be_a Hashie::Mash
43
+ end
44
+
45
+ it "should get issue information" do
46
+ issues = github.issues.issues
47
+ issues.first.title.should == 'Found a bug'
48
+ end
49
+
50
+ it "should yield to a block" do
51
+ github.issues.should_receive(:issues).and_yield('web')
52
+ github.issues.issues { |param| 'web' }.should == 'web'
53
+ end
54
+ end
55
+
56
+ context "resource not found" do
57
+ before do
58
+ stub_get("/issues").
59
+ to_return(:body => "", :status => [404, "Not Found"])
60
+ end
61
+
62
+ it "should return 404 with a message 'Not Found'" do
63
+ expect { github.issues.issues }.to raise_error(Github::ResourceNotFound)
64
+ end
65
+ end
66
+ end # issues
67
+
68
+ describe 'repo_issues' do
69
+ it { github.issues.should respond_to :repo_issues }
70
+ it { github.issues.should respond_to :list_repo_issues }
71
+ it { github.issues.should respond_to :list_repository_issues }
72
+
73
+ context "resource found" do
74
+ before do
75
+ github.user, github.repo = nil, nil
76
+ stub_get("/repos/#{user}/#{repo}/issues").
77
+ to_return(:body => fixture('issues/issues.json'), :status => 200, :headers => {:content_type => "application/json; charset=utf-8"})
78
+ end
79
+
80
+ it "should raise error if user-name empty" do
81
+ expect {
82
+ github.issues.repo_issues nil, repo
83
+ }.should raise_error(ArgumentError)
84
+ end
85
+
86
+ it "should get the resources" do
87
+ github.issues.repo_issues user, repo
88
+ a_get("/repos/#{user}/#{repo}/issues").should have_been_made
89
+ end
90
+
91
+ it "should return array of resources" do
92
+ repo_issues = github.issues.repo_issues user, repo
93
+ repo_issues.should be_an Array
94
+ repo_issues.should have(1).items
95
+ end
96
+
97
+ it "should be a mash type" do
98
+ repo_issues = github.issues.repo_issues user, repo
99
+ repo_issues.first.should be_a Hashie::Mash
100
+ end
101
+
102
+ it "should get repository issue information" do
103
+ repo_issues = github.issues.repo_issues user, repo
104
+ repo_issues.first.title.should == 'Found a bug'
105
+ end
106
+
107
+ it "should yield to a block" do
108
+ github.issues.should_receive(:issues).with(user, repo).and_yield('web')
109
+ github.issues.issues(user, repo) { |param| 'web' }.should == 'web'
110
+ end
111
+ end
112
+
113
+ context "resource not found" do
114
+ before do
115
+ stub_get("/repos/#{user}/#{repo}/issues").
116
+ to_return(:body => "", :status => [404, "Not Found"])
117
+ end
118
+
119
+ it "should return 404 with a message 'Not Found'" do
120
+ expect {
121
+ github.issues.repo_issues user, repo
122
+ }.to raise_error(Github::ResourceNotFound)
123
+ end
124
+ end
125
+ end # repo_issues
126
+
127
+ describe "get_issue" do
128
+ let(:issue_id) { 1347 }
129
+
130
+ it { github.issues.should respond_to :issue }
131
+ it { github.issues.should respond_to :get_issue }
132
+
133
+ context "resource found" do
134
+ before do
135
+ stub_get("/repos/#{user}/#{repo}/issues/#{issue_id}").
136
+ to_return(:body => fixture('issues/issue.json'), :status => 200, :headers => {:content_type => "application/json; charset=utf-8"})
137
+ end
138
+
139
+ it "should fail to get resource without issue id" do
140
+ expect { github.issues.issue(user, repo, nil)}.to raise_error(ArgumentError)
141
+ end
142
+
143
+ it "should get the resource" do
144
+ github.issues.issue user, repo, issue_id
145
+ a_get("/repos/#{user}/#{repo}/issues/#{issue_id}").should have_been_made
146
+ end
147
+
148
+ it "should get issue information" do
149
+ issue = github.issues.issue user, repo, issue_id
150
+ issue.number.should == issue_id
151
+ issue.title.should == 'Found a bug'
152
+ end
153
+
154
+ it "should return mash" do
155
+ issue = github.issues.issue user, repo, issue_id
156
+ issue.should be_a Hashie::Mash
157
+ end
158
+ end
159
+
160
+ context "resource not found" do
161
+ before do
162
+ stub_get("/repos/#{user}/#{repo}/issues/#{issue_id}").
163
+ to_return(:body => fixture('issues/issue.json'), :status => 404, :headers => {:content_type => "application/json; charset=utf-8"})
164
+ end
165
+
166
+ it "should fail to retrive resource" do
167
+ expect {
168
+ github.issues.issue user, repo, issue_id
169
+ }.to raise_error(Github::ResourceNotFound)
170
+ end
171
+ end
172
+ end # get_issue
173
+
174
+ describe "create_issue" do
175
+ let(:inputs) {
176
+ {
177
+ "title" => "Found a bug",
178
+ "body" => "I'm having a problem with this.",
179
+ "assignee" => "octocat",
180
+ "milestone" => 1,
181
+ "labels" => [
182
+ "Label1",
183
+ "Label2"
184
+ ]
185
+ }
186
+ }
187
+ context "resouce created" do
188
+ before do
189
+ stub_post("/repos/#{user}/#{repo}/issues").with(inputs).
190
+ to_return(:body => fixture('issues/issue.json'), :status => 201, :headers => {:content_type => "application/json; charset=utf-8"})
191
+ end
192
+
193
+ it "should fail to create resource if 'title' input is missing" do
194
+ expect {
195
+ github.issues.create_issue user, repo, inputs.except('title')
196
+ }.to raise_error(ArgumentError)
197
+ end
198
+
199
+ it "should create resource successfully" do
200
+ github.issues.create_issue user, repo, inputs
201
+ a_post("/repos/#{user}/#{repo}/issues").with(inputs).should have_been_made
202
+ end
203
+
204
+ it "should return the resource" do
205
+ issue = github.issues.create_issue user, repo, inputs
206
+ issue.should be_a Hashie::Mash
207
+ end
208
+
209
+ it "should get the issue information" do
210
+ issue = github.issues.create_issue(user, repo, inputs)
211
+ issue.title.should == 'Found a bug'
212
+ end
213
+ end
214
+
215
+ context "failed to create resource" do
216
+ before do
217
+ stub_post("/repos/#{user}/#{repo}/issues").with(inputs).
218
+ to_return(:body => fixture('issues/issue.json'), :status => 404, :headers => {:content_type => "application/json; charset=utf-8"})
219
+ end
220
+
221
+ it "should faile to retrieve resource" do
222
+ expect {
223
+ github.issues.create_issue user, repo, inputs
224
+ }.to raise_error(Github::ResourceNotFound)
225
+ end
226
+ end
227
+ end # create_issue
228
+
229
+ describe "edit_issue" do
230
+ let(:issue_id) { 1349 }
231
+ let(:inputs) {
232
+ {
233
+ "title" => "Found a bug",
234
+ "body" => "I'm having a problem with this.",
235
+ "assignee" => "octocat",
236
+ "milestone" => 1,
237
+ "labels" => [
238
+ "Label1",
239
+ "Label2"
240
+ ]
241
+ }
242
+ }
243
+
244
+ context "resource edited successfully" do
245
+ before do
246
+ stub_patch("/repos/#{user}/#{repo}/issues/#{issue_id}").with(inputs).
247
+ to_return(:body => fixture("issues/issue.json"), :status => 200, :headers => { :content_type => "application/json; charset=utf-8"})
248
+ end
249
+
250
+ it "should fail to edit without 'user/repo' parameters" do
251
+ github.user, github.repo = nil, nil
252
+ expect {
253
+ github.issues.edit_issue nil, repo, issue_id
254
+ }.to raise_error(ArgumentError)
255
+ end
256
+
257
+ it "should edit the resource" do
258
+ github.issues.edit_issue user, repo, issue_id, inputs
259
+ a_patch("/repos/#{user}/#{repo}/issues/#{issue_id}").with(inputs).should have_been_made
260
+ end
261
+
262
+ it "should return resource" do
263
+ issue = github.issues.edit_issue user, repo, issue_id, inputs
264
+ issue.should be_a Hashie::Mash
265
+ end
266
+
267
+ it "should be able to retrieve information" do
268
+ issue = github.issues.edit_issue user, repo, issue_id, inputs
269
+ issue.title.should == 'Found a bug'
270
+ end
271
+ end
272
+
273
+ context "failed to edit resource" do
274
+ before do
275
+ stub_patch("/repos/#{user}/#{repo}/issues/#{issue_id}").with(inputs).
276
+ to_return(:body => fixture("issues/issue.json"), :status => 404, :headers => { :content_type => "application/json; charset=utf-8"})
277
+ end
278
+
279
+ it "should fail to find resource" do
280
+ expect {
281
+ github.issues.edit_issue user, repo, issue_id, inputs
282
+ }.to raise_error(Github::ResourceNotFound)
283
+ end
284
+ end
285
+ end # edit_issue
286
+
287
+ end # Github::Issues
@@ -8,6 +8,11 @@ require 'json'
8
8
  require 'webmock/rspec'
9
9
  require 'github_api'
10
10
 
11
+ if RUBY_VERSION > '1.9' and ENV['COVERAGE']
12
+ require 'coverage_adapter'
13
+ SimpleCov.start 'github_api'
14
+ end
15
+
11
16
  # Requires supporting files with custom matchers and macros, etc,
12
17
  # in ./support/ and its subdirectories.
13
18
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_api
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 3
9
- version: 0.3.3
4
+ prerelease:
5
+ version: 0.3.4
10
6
  platform: ruby
11
7
  authors:
12
8
  - Piotr Murach
@@ -14,20 +10,17 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-12-04 00:00:00 +00:00
13
+ date: 2011-12-17 00:00:00 +00:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
21
17
  name: hashie
22
18
  prerelease: false
23
19
  requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
24
21
  requirements:
25
22
  - - ~>
26
23
  - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 2
30
- - 0
31
24
  version: 1.2.0
32
25
  type: :runtime
33
26
  version_requirements: *id001
@@ -35,13 +28,10 @@ dependencies:
35
28
  name: faraday
36
29
  prerelease: false
37
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
38
32
  requirements:
39
33
  - - ~>
40
34
  - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
- - 7
44
- - 4
45
35
  version: 0.7.4
46
36
  type: :runtime
47
37
  version_requirements: *id002
@@ -49,13 +39,10 @@ dependencies:
49
39
  name: multi_json
50
40
  prerelease: false
51
41
  requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
52
43
  requirements:
53
44
  - - ~>
54
45
  - !ruby/object:Gem::Version
55
- segments:
56
- - 1
57
- - 0
58
- - 3
59
46
  version: 1.0.3
60
47
  type: :runtime
61
48
  version_requirements: *id003
@@ -63,13 +50,10 @@ dependencies:
63
50
  name: oauth2
64
51
  prerelease: false
65
52
  requirement: &id004 !ruby/object:Gem::Requirement
53
+ none: false
66
54
  requirements:
67
55
  - - ~>
68
56
  - !ruby/object:Gem::Version
69
- segments:
70
- - 0
71
- - 5
72
- - 0
73
57
  version: 0.5.0
74
58
  type: :runtime
75
59
  version_requirements: *id004
@@ -77,25 +61,21 @@ dependencies:
77
61
  name: rspec
78
62
  prerelease: false
79
63
  requirement: &id005 !ruby/object:Gem::Requirement
64
+ none: false
80
65
  requirements:
81
66
  - - ~>
82
67
  - !ruby/object:Gem::Version
83
- segments:
84
- - 2
85
- - 4
86
- - 0
87
- version: 2.4.0
68
+ version: 2.7.0
88
69
  type: :development
89
70
  version_requirements: *id005
90
71
  - !ruby/object:Gem::Dependency
91
72
  name: cucumber
92
73
  prerelease: false
93
74
  requirement: &id006 !ruby/object:Gem::Requirement
75
+ none: false
94
76
  requirements:
95
77
  - - ">="
96
78
  - !ruby/object:Gem::Version
97
- segments:
98
- - 0
99
79
  version: "0"
100
80
  type: :development
101
81
  version_requirements: *id006
@@ -103,27 +83,21 @@ dependencies:
103
83
  name: yajl-ruby
104
84
  prerelease: false
105
85
  requirement: &id007 !ruby/object:Gem::Requirement
86
+ none: false
106
87
  requirements:
107
88
  - - ~>
108
89
  - !ruby/object:Gem::Version
109
- segments:
110
- - 0
111
- - 8
112
- - 2
113
- version: 0.8.2
90
+ version: 1.1.0
114
91
  type: :development
115
92
  version_requirements: *id007
116
93
  - !ruby/object:Gem::Dependency
117
94
  name: bundler
118
95
  prerelease: false
119
96
  requirement: &id008 !ruby/object:Gem::Requirement
97
+ none: false
120
98
  requirements:
121
99
  - - ~>
122
100
  - !ruby/object:Gem::Version
123
- segments:
124
- - 1
125
- - 0
126
- - 0
127
101
  version: 1.0.0
128
102
  type: :development
129
103
  version_requirements: *id008
@@ -131,13 +105,10 @@ dependencies:
131
105
  name: jeweler
132
106
  prerelease: false
133
107
  requirement: &id009 !ruby/object:Gem::Requirement
108
+ none: false
134
109
  requirements:
135
110
  - - ~>
136
111
  - !ruby/object:Gem::Version
137
- segments:
138
- - 1
139
- - 6
140
- - 4
141
112
  version: 1.6.4
142
113
  type: :development
143
114
  version_requirements: *id009
@@ -145,13 +116,10 @@ dependencies:
145
116
  name: webmock
146
117
  prerelease: false
147
118
  requirement: &id010 !ruby/object:Gem::Requirement
119
+ none: false
148
120
  requirements:
149
121
  - - ~>
150
122
  - !ruby/object:Gem::Version
151
- segments:
152
- - 1
153
- - 7
154
- - 6
155
123
  version: 1.7.6
156
124
  type: :development
157
125
  version_requirements: *id010
@@ -159,12 +127,10 @@ dependencies:
159
127
  name: simplecov
160
128
  prerelease: false
161
129
  requirement: &id011 !ruby/object:Gem::Requirement
130
+ none: false
162
131
  requirements:
163
132
  - - ~>
164
133
  - !ruby/object:Gem::Version
165
- segments:
166
- - 0
167
- - 4
168
134
  version: "0.4"
169
135
  type: :development
170
136
  version_requirements: *id011
@@ -172,11 +138,10 @@ dependencies:
172
138
  name: guard-rspec
173
139
  prerelease: false
174
140
  requirement: &id012 !ruby/object:Gem::Requirement
141
+ none: false
175
142
  requirements:
176
143
  - - ">="
177
144
  - !ruby/object:Gem::Version
178
- segments:
179
- - 0
180
145
  version: "0"
181
146
  type: :development
182
147
  version_requirements: *id012
@@ -184,11 +149,10 @@ dependencies:
184
149
  name: guard-cucumber
185
150
  prerelease: false
186
151
  requirement: &id013 !ruby/object:Gem::Requirement
152
+ none: false
187
153
  requirements:
188
154
  - - ">="
189
155
  - !ruby/object:Gem::Version
190
- segments:
191
- - 0
192
156
  version: "0"
193
157
  type: :development
194
158
  version_requirements: *id013
@@ -262,9 +226,12 @@ files:
262
226
  - lib/github_api/users.rb
263
227
  - lib/github_api/version.rb
264
228
  - lib/github_api.rb
229
+ - spec/coverage_adapter.rb
265
230
  - spec/fixtures/auths/authorization.json
266
231
  - spec/fixtures/auths/authorizations.json
267
232
  - spec/fixtures/events/events.json
233
+ - spec/fixtures/issues/issue.json
234
+ - spec/fixtures/issues/issues.json
268
235
  - spec/fixtures/orgs/members.json
269
236
  - spec/fixtures/orgs/org.json
270
237
  - spec/fixtures/orgs/orgs.json
@@ -331,6 +298,7 @@ files:
331
298
  - spec/github/result_spec.rb
332
299
  - spec/github/users_spec.rb
333
300
  - spec/github_spec.rb
301
+ - spec/README.rdoc
334
302
  - spec/spec_helper.rb
335
303
  - README.rdoc
336
304
  - LICENSE.txt
@@ -344,23 +312,21 @@ rdoc_options: []
344
312
  require_paths:
345
313
  - lib
346
314
  required_ruby_version: !ruby/object:Gem::Requirement
315
+ none: false
347
316
  requirements:
348
317
  - - ">="
349
318
  - !ruby/object:Gem::Version
350
- segments:
351
- - 0
352
319
  version: "0"
353
320
  required_rubygems_version: !ruby/object:Gem::Requirement
321
+ none: false
354
322
  requirements:
355
323
  - - ">="
356
324
  - !ruby/object:Gem::Version
357
- segments:
358
- - 0
359
325
  version: "0"
360
326
  requirements: []
361
327
 
362
328
  rubyforge_project:
363
- rubygems_version: 1.3.6
329
+ rubygems_version: 1.6.2
364
330
  signing_key:
365
331
  specification_version: 3
366
332
  summary: Ruby wrapper for the GitHub API v3