codeclimate-api-ruby-client 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.rubocop.yml +15 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +25 -0
- data/Guardfile +49 -0
- data/LICENSE.txt +21 -0
- data/README.md +49 -0
- data/Rakefile +6 -0
- data/TODO.md +22 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/codeclimate-api-ruby-client.gemspec +28 -0
- data/fixtures/vcr_cassettes/code_climate/builds/list.yml +60 -0
- data/fixtures/vcr_cassettes/code_climate/metrics/gpa.yml +60 -0
- data/fixtures/vcr_cassettes/code_climate/orgs/list.yml +60 -0
- data/fixtures/vcr_cassettes/code_climate/ref_points/list.yml +60 -0
- data/fixtures/vcr_cassettes/code_climate/repos/get.yml +60 -0
- data/fixtures/vcr_cassettes/code_climate/services/list.yml +61 -0
- data/fixtures/vcr_cassettes/code_climate/snapshots/show.yml +60 -0
- data/fixtures/vcr_cassettes/code_climate/test_reports/list.yml +63 -0
- data/fixtures/vcr_cassettes/code_climate/user.yml +61 -0
- data/lib/code_climate.rb +1 -0
- data/lib/code_climate/client.rb +83 -0
- data/lib/code_climate/middleware.rb +16 -0
- data/lib/code_climate/resources/base.rb +9 -0
- data/lib/code_climate/resources/build.rb +8 -0
- data/lib/code_climate/resources/metric.rb +8 -0
- data/lib/code_climate/resources/org.rb +9 -0
- data/lib/code_climate/resources/ref_point.rb +8 -0
- data/lib/code_climate/resources/repo.rb +37 -0
- data/lib/code_climate/resources/service.rb +8 -0
- data/lib/code_climate/resources/snapshot.rb +8 -0
- data/lib/code_climate/resources/test_report.rb +8 -0
- data/lib/code_climate/resources/user.rb +10 -0
- data/lib/code_climate/version.rb +3 -0
- metadata +123 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/orgs
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:27 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"2f7f00d7f6925232d6ce911820aca337"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.013162'
|
47
|
+
X-Request-Id:
|
48
|
+
- 895d4521-11f6-4f93-9b4e-3ed4b2b28c0e
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":[],"links":{}}'
|
58
|
+
http_version:
|
59
|
+
recorded_at: Sat, 19 Aug 2017 13:20:21 GMT
|
60
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/repos/592e3170b12e120271000199/ref_points
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:29 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"f6f3d8e4c69a16cd02acbe8192d8538c"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.016548'
|
47
|
+
X-Request-Id:
|
48
|
+
- 0ef38922-a55d-441e-a95e-252cb858543d
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":[{"id":"592e35d241a3c10001000334","type":"ref_points","attributes":{"analyzed":true,"branch":"master","commit_sha":"bf8c7b6a430e8a27eb4a4f3c65d02bcbb9c1fe2e","created_at":"2017-05-31T03:17:38.970Z","ref":"refs/heads/master"},"relationships":{"snapshot":{"data":{"id":"599555991d132f0001014dd5","type":"snapshots"}}}},{"id":"592e35328b67b00001000341","type":"ref_points","attributes":{"analyzed":true,"branch":"build/add-codeclimate","commit_sha":"7e1ed81c1d81dcd21da5ed5aeb4478ca906998ed","created_at":"2017-05-31T03:14:58.691Z","ref":"refs/pull/8/head"},"relationships":{"snapshot":{"data":{"id":"592e353244016b0001011fa3","type":"snapshots"}}}},{"id":"592e317130ad8500010002e9","type":"ref_points","attributes":{"analyzed":true,"branch":"master","commit_sha":"aa025d1c7af2099642ce7dae7ae4d9f8d9875cc6","created_at":"2017-05-31T02:58:57.330Z","ref":"refs/heads/master"},"relationships":{"snapshot":{"data":{"id":"592e317144016b0001011d73","type":"snapshots"}}}}],"links":{}}'
|
58
|
+
http_version:
|
59
|
+
recorded_at: Sat, 19 Aug 2017 13:20:23 GMT
|
60
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/repos/592e3170b12e120271000199
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:21 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"7b76bdc17ec62989b4f890cc40801056"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.023425'
|
47
|
+
X-Request-Id:
|
48
|
+
- e673b8f7-ca91-481b-a5d9-6391b473001a
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":{"id":"592e3170b12e120271000199","type":"repos","attributes":{"analysis_version":3521,"badge_token":"60afde200c2dbeb3902b","branch":"master","created_at":"2017-05-31T02:58:56.948Z","github_slug":"wnuqui/cm","human_name":"cm","last_activity_at":"2017-08-17T08:36:52.472Z","score":4.0},"relationships":{"latest_default_branch_snapshot":{"data":{"id":"599555991d132f0001014dd5","type":"snapshots"}},"latest_default_branch_test_report":{"data":{"id":"592e361e9c3ce9000102b590","type":"test_reports"}},"account":{"data":null}},"links":{"self":"https://codeclimate.com/github/wnuqui/cm","services":"https://api.codeclimate.com/v1/repos/592e3170b12e120271000199/services","web_coverage":"https://codeclimate.com/github/wnuqui/cm/coverage","web_issues":"https://codeclimate.com/github/wnuqui/cm/issues"},"meta":{"permissions":{"admin":true}}}}'
|
58
|
+
http_version:
|
59
|
+
recorded_at: Sat, 19 Aug 2017 13:20:16 GMT
|
60
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,61 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/repos/592e3170b12e120271000199/services
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:30 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"86f7e738433d4d37acaeb33e0c755c19"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.011292'
|
47
|
+
X-Request-Id:
|
48
|
+
- 80aa6abf-c3a1-4f53-8ddc-585cb1522f0a
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":[{"id":"592e3171b12e12027100019d","type":"services","attributes":{"slug":"githubpullrequests","title":"GitHub
|
58
|
+
Pull Requests","description":"Update pull requests on GitHub"},"links":{"events":"https://api.codeclimate.com/v1/repos/592e3170b12e120271000199/services/592e3171b12e12027100019d/events"}}]}'
|
59
|
+
http_version:
|
60
|
+
recorded_at: Sat, 19 Aug 2017 13:20:24 GMT
|
61
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/repos/592e3170b12e120271000199/snapshots/5976875ea05a4400010030b1
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:32 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"01cd0790f260c0c449597867e5458b3a"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.019020'
|
47
|
+
X-Request-Id:
|
48
|
+
- 02424130-c63f-4111-b05d-e940e9e372d6
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":{"id":"5976875ea05a4400010030b1","type":"snapshots","attributes":{"commit_sha":"bf8c7b6a430e8a27eb4a4f3c65d02bcbb9c1fe2e","committed_at":"2017-05-31T03:17:38.970Z","created_at":"2017-07-24T23:48:53.474Z","ratings":[],"gpa":4.0,"worker_version":3434},"meta":{"issues_count":0}}}'
|
58
|
+
http_version:
|
59
|
+
recorded_at: Sat, 19 Aug 2017 13:20:26 GMT
|
60
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,63 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/repos/592e3170b12e120271000199/test_reports
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:34 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"2df04eacc173845516828b02c78e6abd"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.010618'
|
47
|
+
X-Request-Id:
|
48
|
+
- acbe6744-f857-4682-8fac-3ab97ca707de
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":[{"id":"592e361e9c3ce9000102b590","type":"test_reports","attributes":{"commit_sha":"bf8c7b6a430e8a27eb4a4f3c65d02bcbb9c1fe2e","committed_at":"2017-05-31T03:17:37.000Z","covered_percent":100.0,"rating":{"path":"/","letter":"A","measure":{"value":100.0,"unit":"percent"},"pillar":"Test
|
58
|
+
Coverage"},"state":"done"}},{"id":"592e35409c3ce9000102b3cb","type":"test_reports","attributes":{"commit_sha":"7e1ed81c1d81dcd21da5ed5aeb4478ca906998ed","committed_at":"2017-05-31T03:13:15.000Z","covered_percent":100.0,"rating":{"path":"/","letter":"A","measure":{"value":100.0,"unit":"percent"},"pillar":"Test
|
59
|
+
Coverage"},"state":"done"}},{"id":"592e34839c3ce9000102b1ee","type":"test_reports","attributes":{"commit_sha":"aa025d1c7af2099642ce7dae7ae4d9f8d9875cc6","committed_at":"2017-05-31T02:53:05.000Z","covered_percent":100.0,"rating":{"path":"/","letter":"A","measure":{"value":100.0,"unit":"percent"},"pillar":"Test
|
60
|
+
Coverage"},"state":"done"}}],"links":{}}'
|
61
|
+
http_version:
|
62
|
+
recorded_at: Sat, 19 Aug 2017 13:20:28 GMT
|
63
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,61 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.codeclimate.com/v1/user?page%5Bnumber%5D=1&page%5Bsize%5D=1
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.12.2
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Accept:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Token token=TOKEN
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Date:
|
26
|
+
- Sat, 19 Aug 2017 13:26:35 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/vnd.api+json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=0, private, must-revalidate
|
37
|
+
Etag:
|
38
|
+
- W/"01f87483b8f76f6d24e76d011f489314"
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Runtime:
|
46
|
+
- '0.020608'
|
47
|
+
X-Request-Id:
|
48
|
+
- 03d09ed5-eb93-4c43-8ea4-22a87a11a13b
|
49
|
+
X-Powered-By:
|
50
|
+
- Phusion Passenger 5.1.1
|
51
|
+
Server:
|
52
|
+
- nginx + Phusion Passenger 5.1.1
|
53
|
+
Strict-Transport-Security:
|
54
|
+
- max-age=31536000;
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: '{"data":{"id":"58b90c67c0ec0b0286002146","type":"users","attributes":{"email":"dofreewill22@gmail.com","enabled_features":["builder_pull_engines","disable_transactions","encrypted_ssh_private_keys","ignore_owners_team","manage_issues_permission","open_source_repo_list","time_series_metrics","trends_via_time_series","use_kafka_for_test_report_created","use_kafka_for_vcs_pull_request_changed","use_kafka_for_vcs_repo_added","use_kafka_for_vcs_repo_push","use_kafka_for_vcs_repo_refresh","use_kafka_for_vcs_repo_updated"],"full_name":"Wilfrido
|
58
|
+
Nuqui","staff":false},"links":{"avatar":"https://avatars.githubusercontent.com/u/1292222"}}}'
|
59
|
+
http_version:
|
60
|
+
recorded_at: Sat, 19 Aug 2017 13:20:29 GMT
|
61
|
+
recorded_with: VCR 3.0.3
|
data/lib/code_climate.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'code_climate/client'
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require 'active_support/core_ext/module/attribute_accessors'
|
2
|
+
require 'json_api_client'
|
3
|
+
|
4
|
+
require 'code_climate/version'
|
5
|
+
require 'code_climate/resources/base'
|
6
|
+
|
7
|
+
module CodeClimate
|
8
|
+
# :nodoc:
|
9
|
+
module Client
|
10
|
+
mattr_accessor :base_uri, :api_token, :http_verbose
|
11
|
+
|
12
|
+
class << self
|
13
|
+
def configure
|
14
|
+
yield self if block_given?
|
15
|
+
CodeClimate::Resource::Base.site = base_uri
|
16
|
+
connect!
|
17
|
+
require_code_climate_resources
|
18
|
+
self
|
19
|
+
end
|
20
|
+
|
21
|
+
def current_user
|
22
|
+
Resource::User.first
|
23
|
+
end
|
24
|
+
|
25
|
+
def repos
|
26
|
+
Resource::Repo
|
27
|
+
end
|
28
|
+
|
29
|
+
def ref_points
|
30
|
+
Resource::RefPoint
|
31
|
+
end
|
32
|
+
|
33
|
+
def builds
|
34
|
+
Resource::Build
|
35
|
+
end
|
36
|
+
|
37
|
+
def metrics
|
38
|
+
Resource::Metric
|
39
|
+
end
|
40
|
+
|
41
|
+
def snapshots
|
42
|
+
Resource::Snapshot
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_reports
|
46
|
+
Resource::TestReport
|
47
|
+
end
|
48
|
+
|
49
|
+
def services
|
50
|
+
Resource::Service
|
51
|
+
end
|
52
|
+
|
53
|
+
def orgs
|
54
|
+
Resource::Org
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def http_verbose?
|
60
|
+
ENV['HTTP_VERBOSE'] == 'true' || http_verbose
|
61
|
+
end
|
62
|
+
|
63
|
+
def connect!
|
64
|
+
CodeClimate::Resource::Base.connection do |connection|
|
65
|
+
connection.use Faraday::Response::Logger if http_verbose?
|
66
|
+
connection.use CodeClimate::Middleware
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def require_code_climate_resources
|
71
|
+
require 'code_climate/resources/ref_point'
|
72
|
+
require 'code_climate/resources/repo'
|
73
|
+
require 'code_climate/resources/user'
|
74
|
+
require 'code_climate/resources/build'
|
75
|
+
require 'code_climate/resources/metric'
|
76
|
+
require 'code_climate/resources/snapshot'
|
77
|
+
require 'code_climate/resources/test_report'
|
78
|
+
require 'code_climate/resources/service'
|
79
|
+
require 'code_climate/resources/org'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|