github_api 0.3.3 → 0.3.4

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.
@@ -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