codeclimate-services 1.9.7 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d335e785112de10c1ca27413100d2624c373f911
4
- data.tar.gz: b66f6c1ca29ec76b6e5d951e8e024fa560990568
2
+ SHA256:
3
+ metadata.gz: 8980a3e6294016d7483aedd981ee4c54f56c45f8526274e9516013825d9f626a
4
+ data.tar.gz: ef2aaaa203bc911dbb348b5e4f1d3e0b7b6a7eaab0e7857156e4318d6c6ac74b
5
5
  SHA512:
6
- metadata.gz: eca2b1994c1d9916108a743faff0dd4f16e754f2554d70fb42ffff73259a36565e36ff7412621dcc1a615bdb81367860bcecab4a0042f2f4b826850905610609
7
- data.tar.gz: 50fca613d93497132f2b79c2ccb3ced9dc6cd323df1d26a9626b5331e67b7961d74f6beb885d6ae9b7400660e3455dc2bad08cc0bf7b6ceddfdc33b605de762a
6
+ metadata.gz: bcf20aee515217c99ab7d09ee592bba7b3ec16f732e9bd7ffd3698b18d3a6e5bab3ab7c6f5dcf1bb0806d6e0c4f4179b551de756a545a2d93ccaef0467e7b87d
7
+ data.tar.gz: 3941929485b68f39e67ee5c02f03faad637e3273b16c87dc92c7b85fcf8c6025a17c40e62a1306b64b2d9ddc4d7d33e63ae4b8de5a59abd1c1d009415962673e
@@ -0,0 +1,16 @@
1
+ version: 2
2
+
3
+ jobs:
4
+ test:
5
+ machine:
6
+ docker_layer_caching: true
7
+ working_directory: ~/codeclimate/codeclimate-services
8
+ steps:
9
+ - checkout
10
+ - run: bundle install && bundle exec rake && bundle exec codeclimate-test-reporter
11
+
12
+ workflows:
13
+ version: 2
14
+ test:
15
+ jobs:
16
+ - test
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.2
1
+ 2.4.4
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["bryan@brynary.com"]
11
11
  spec.summary = "Service classes for Code Climate"
12
12
  spec.description = "Service classes for Code Climate"
13
- spec.homepage = ""
13
+ spec.homepage = "https://codeclimate.com/"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -0,0 +1,7 @@
1
+ class Axiom::Types::Token < Axiom::Types::String
2
+ def self.infer(object)
3
+ if object == Axiom::Types::Token
4
+ self
5
+ end
6
+ end
7
+ end
@@ -36,9 +36,11 @@ module CC
36
36
  def coverage_message
37
37
  message = "#{formatted_percent(@covered_percent)}%"
38
38
 
39
- if @covered_percent_delta > 0
39
+ return message if @covered_percent_delta.nil?
40
+
41
+ if @covered_percent_delta.round(2) > 0
40
42
  message += " (+#{formatted_percent(@covered_percent_delta)}%)"
41
- elsif @covered_percent_delta < 0
43
+ elsif @covered_percent_delta.round(2) < 0
42
44
  message += " (#{formatted_percent(@covered_percent_delta)}%)"
43
45
  end
44
46
 
@@ -48,14 +50,12 @@ module CC
48
50
  def success_message
49
51
  if @approved_by
50
52
  approved_message
51
- elsif @new_count > 0 && @fixed_count > 0
52
- "#{@new_count} new #{"issue".pluralize(@new_count)} (#{@fixed_count} fixed)"
53
- elsif @new_count <= 0 && @fixed_count > 0
53
+ elsif @new_count > 0
54
+ "#{@new_count} #{"issue".pluralize(@new_count)} to fix"
55
+ elsif @fixed_count > 0
54
56
  "#{@fixed_count} fixed #{"issue".pluralize(@fixed_count)}"
55
- elsif @new_count > 0 && @fixed_count <= 0
56
- "#{@new_count} new #{"issue".pluralize(@new_count)}"
57
57
  else
58
- "no new or fixed issues"
58
+ "All good!"
59
59
  end
60
60
  end
61
61
 
data/lib/cc/service.rb CHANGED
@@ -6,6 +6,7 @@ module CC
6
6
  require "cc/service/formatter"
7
7
  require "cc/service/invocation"
8
8
  require "axiom/types/password"
9
+ require "axiom/types/token"
9
10
 
10
11
  dir = File.expand_path "../helpers", __FILE__
11
12
  Dir["#{dir}/*_helper.rb"].sort.each do |helper|
@@ -58,7 +58,10 @@ module CC::Service::HTTP
58
58
  CC::Service::SafeWebhook.ensure_safe!(url)
59
59
 
60
60
  http.send(method) do |req|
61
- req.url(url) if url
61
+ if url
62
+ req.url(url)
63
+ req.options.proxy = http.proxy_from_env(url)
64
+ end
62
65
  req.headers.update(headers) if headers
63
66
  req.body = body if body
64
67
  block.call req if block
@@ -1,7 +1,7 @@
1
1
  class CC::Service::Asana < CC::Service
2
2
  class Config < CC::Service::Config
3
- attribute :personal_access_token, Axiom::Types::String, label: "Personal Access Token"
4
- attribute :api_key, Axiom::Types::String, label: "API key (Deprecated)"
3
+ attribute :personal_access_token, Axiom::Types::Token, label: "Personal Access Token"
4
+ attribute :api_key, Axiom::Types::Token, label: "API key (Deprecated)"
5
5
 
6
6
  attribute :workspace_id, Axiom::Types::String, label: "Workspace ID"
7
7
 
@@ -2,7 +2,7 @@ class CC::Service::Campfire < CC::Service
2
2
  class Config < CC::Service::Config
3
3
  attribute :subdomain, Axiom::Types::String,
4
4
  description: "The Campfire subdomain for the account"
5
- attribute :token, Axiom::Types::String,
5
+ attribute :token, Axiom::Types::Token,
6
6
  description: "Your Campfire API auth token"
7
7
  attribute :room_id, Axiom::Types::String,
8
8
  description: "Check your campfire URL for a room ID. Usually 6 digits."
@@ -1,6 +1,6 @@
1
1
  class CC::Service::Flowdock < CC::Service
2
2
  class Config < CC::Service::Config
3
- attribute :api_token, Axiom::Types::String,
3
+ attribute :api_token, Axiom::Types::Token,
4
4
  label: "API Token",
5
5
  description: "The API token of the Flow to send notifications to",
6
6
  link: "https://www.flowdock.com/account/tokens"
@@ -1,6 +1,6 @@
1
1
  class CC::Service::GitHubIssues < CC::Service
2
2
  class Config < CC::Service::Config
3
- attribute :oauth_token, Axiom::Types::String,
3
+ attribute :oauth_token, Axiom::Types::Token,
4
4
  label: "OAuth Token",
5
5
  description: "A personal OAuth token with permissions for the repo"
6
6
  attribute :project, Axiom::Types::String,
@@ -2,7 +2,7 @@ require "cc/presenters/pull_requests_presenter"
2
2
 
3
3
  class CC::Service::GitHubPullRequests < CC::PullRequests
4
4
  class Config < CC::Service::Config
5
- attribute :oauth_token, Axiom::Types::String,
5
+ attribute :oauth_token, Axiom::Types::Token,
6
6
  label: "OAuth Token",
7
7
  description: "A personal OAuth token with permissions for the repo."
8
8
  attribute :base_url, Axiom::Types::String,
@@ -4,7 +4,7 @@ class CC::Service::GitlabMergeRequests < CC::PullRequests
4
4
  class Config < CC::Service::Config
5
5
  CONTEXT = "codeclimate".freeze
6
6
 
7
- attribute :access_token, Axiom::Types::String,
7
+ attribute :access_token, Axiom::Types::Token,
8
8
  label: "Access Token",
9
9
  description: "A personal access token with permissions for the repo."
10
10
  attribute :base_url, Axiom::Types::String,
@@ -58,12 +58,12 @@ class CC::Service::GitlabMergeRequests < CC::PullRequests
58
58
 
59
59
  def setup_http
60
60
  http.headers["Content-Type"] = "application/json"
61
- http.headers["PRIVATE-TOKEN"] = config.access_token
61
+ http.headers["Private-Token"] = config.access_token
62
62
  http.headers["User-Agent"] = "Code Climate"
63
63
  end
64
64
 
65
65
  def base_status_url(commit_sha)
66
- "#{config.base_url}/api/v3/projects/#{CGI.escape(slug)}/statuses/#{commit_sha}"
66
+ "#{config.base_url}/api/v4/projects/#{CGI.escape(slug)}/statuses/#{commit_sha}"
67
67
  end
68
68
 
69
69
  def slug
@@ -1,6 +1,6 @@
1
1
  class CC::Service::HipChat < CC::Service
2
2
  class Config < CC::Service::Config
3
- attribute :auth_token, Axiom::Types::String,
3
+ attribute :auth_token, Axiom::Types::Token,
4
4
  description: "Your HipChat API auth token"
5
5
 
6
6
  attribute :room_id, Axiom::Types::String,
@@ -3,7 +3,7 @@ require "base64"
3
3
  class CC::Service::Jira < CC::Service
4
4
  class Config < CC::Service::Config
5
5
  attribute :domain, Axiom::Types::String,
6
- description: "Your JIRA host domain (e.g. yourjira.com:PORT, please exclude https://)"
6
+ description: "Your JIRA host domain (e.g. yourjira.com[:PORT], please exclude https:// and only add PORT if you are using a different port number to access your own server that is not the default)"
7
7
 
8
8
  attribute :username, Axiom::Types::String,
9
9
  description: "Must exactly match the 'username' that appears on your JIRA profile page."
@@ -3,7 +3,7 @@ class CC::Service::Lighthouse < CC::Service
3
3
  attribute :subdomain, Axiom::Types::String,
4
4
  description: "Your Lighthouse subdomain"
5
5
 
6
- attribute :api_token, Axiom::Types::String,
6
+ attribute :api_token, Axiom::Types::Token,
7
7
  label: "API Token",
8
8
  description: "Your Lighthouse API Key (http://help.lighthouseapp.com/kb/api/how-do-i-get-an-api-token)"
9
9
 
@@ -1,6 +1,6 @@
1
1
  class CC::Service::PivotalTracker < CC::Service
2
2
  class Config < CC::Service::Config
3
- attribute :api_token, Axiom::Types::String,
3
+ attribute :api_token, Axiom::Types::Token,
4
4
  description: "Your Pivotal Tracker API Token, from your profile page"
5
5
 
6
6
  attribute :project_id, Axiom::Types::String,
@@ -1,5 +1,5 @@
1
1
  module CC
2
2
  module Services
3
- VERSION = "1.9.7".freeze
3
+ VERSION = "1.11.1".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,14 @@
1
+ describe Axiom::Types::Token do
2
+ class TestConfiguration < CC::Service::Config
3
+ attribute :token_attribute, Token
4
+ attribute :str_attribute, String
5
+ end
6
+
7
+ it "token type inference" do
8
+ expect(Axiom::Types::Token).to eq(TestConfiguration.attribute_set[:token_attribute].type)
9
+ end
10
+
11
+ it "string type inference" do
12
+ expect(Axiom::Types::String).to eq(TestConfiguration.attribute_set[:str_attribute].type)
13
+ end
14
+ end
@@ -3,12 +3,12 @@ require "cc/presenters/pull_requests_presenter"
3
3
  describe CC::Service::PullRequestsPresenter, type: :service do
4
4
  it "message singular" do
5
5
  expect(build_presenter("fixed" => 1, "new" => 1).success_message).
6
- to eq("1 new issue (1 fixed)")
6
+ to eq("1 issue to fix")
7
7
  end
8
8
 
9
9
  it "message plural" do
10
10
  expect(build_presenter("fixed" => 1, "new" => 2).success_message).
11
- to eq("2 new issues (1 fixed)")
11
+ to eq("2 issues to fix")
12
12
  end
13
13
 
14
14
  it "message only fixed" do
@@ -18,24 +18,32 @@ describe CC::Service::PullRequestsPresenter, type: :service do
18
18
 
19
19
  it "message only new" do
20
20
  expect(build_presenter("fixed" => 0, "new" => 3).success_message).
21
- to eq("3 new issues")
21
+ to eq("3 issues to fix")
22
22
  end
23
23
 
24
24
  it "message no new or fixed" do
25
25
  expect(build_presenter("fixed" => 0, "new" => 0).success_message).
26
- to eq("no new or fixed issues")
26
+ to eq("All good!")
27
27
  end
28
28
 
29
29
  it "message coverage same" do
30
30
  expect("85%").to eq(build_presenter({}, "covered_percent" => 85, "covered_percent_delta" => 0).coverage_message)
31
31
  end
32
32
 
33
+ it "message coverage without delta" do
34
+ expect("85%").to eq(build_presenter({}, "covered_percent" => 85, "covered_percent_delta" => nil).coverage_message)
35
+ end
36
+
37
+ it "message coverage the same when rounded" do
38
+ expect("85%").to eq(build_presenter({}, "covered_percent" => 85, "covered_percent_delta" => 0.0005).coverage_message)
39
+ end
40
+
33
41
  it "message coverage up" do
34
42
  expect("85.5% (+2.46%)").to eq(build_presenter({}, "covered_percent" => 85.5, "covered_percent_delta" => 2.4567).coverage_message)
35
43
  end
36
44
 
37
45
  it "message coverage down" do
38
- expect("85.35% (-3%)").to eq( build_presenter({}, "covered_percent" => 85.348, "covered_percent_delta" => -3.0).coverage_message)
46
+ expect("85.35% (-3%)").to eq(build_presenter({}, "covered_percent" => 85.348, "covered_percent_delta" => -3.0).coverage_message)
39
47
  end
40
48
 
41
49
  it "message approved" do
@@ -45,7 +53,7 @@ describe CC::Service::PullRequestsPresenter, type: :service do
45
53
 
46
54
  it "message approved is empty string" do
47
55
  expect(build_presenter({"fixed" => 1, "new" => 1}, { "approved_by" => ""}).success_message).
48
- to eq("1 new issue (1 fixed)")
56
+ to eq("1 issue to fix")
49
57
  end
50
58
 
51
59
  private
@@ -10,7 +10,7 @@ describe CC::Service::GitHubPullRequests, type: :service do
10
10
 
11
11
  it "pull request status success detailed" do
12
12
  expect_status_update("pbrisbin/foo", "abc123", "state" => "success",
13
- "description" => "2 new issues (1 fixed)")
13
+ "description" => "2 issues to fix")
14
14
 
15
15
  receive_pull_request(
16
16
  {},
@@ -22,7 +22,7 @@ describe CC::Service::GitHubPullRequests, type: :service do
22
22
 
23
23
  it "pull request status failure" do
24
24
  expect_status_update("pbrisbin/foo", "abc123", "state" => "failure",
25
- "description" => "2 new issues (1 fixed)")
25
+ "description" => "2 issues to fix")
26
26
 
27
27
  receive_pull_request(
28
28
  {},
@@ -34,7 +34,7 @@ describe CC::Service::GitHubPullRequests, type: :service do
34
34
 
35
35
  it "pull request status success generic" do
36
36
  expect_status_update("pbrisbin/foo", "abc123", "state" => "success",
37
- "description" => /2 new issues \(1 fixed\)/)
37
+ "description" => "2 issues to fix")
38
38
 
39
39
  receive_pull_request({}, github_slug: "pbrisbin/foo",
40
40
  commit_sha: "abc123",
@@ -20,7 +20,7 @@ describe CC::Service::GitlabMergeRequests, type: :service do
20
20
  "hal/hal9000",
21
21
  "abc123",
22
22
  "state" => "success",
23
- "description" => "2 new issues (1 fixed)",
23
+ "description" => "2 issues to fix",
24
24
  )
25
25
 
26
26
  receive_merge_request(
@@ -36,7 +36,7 @@ describe CC::Service::GitlabMergeRequests, type: :service do
36
36
  "hal/hal9000",
37
37
  "abc123",
38
38
  "state" => "failed",
39
- "description" => "2 new issues (1 fixed)",
39
+ "description" => "2 issues to fix",
40
40
  )
41
41
 
42
42
  receive_merge_request(
@@ -116,13 +116,13 @@ describe CC::Service::GitlabMergeRequests, type: :service do
116
116
  end
117
117
 
118
118
  it "merge request status test success" do
119
- http_stubs.post("api/v3/projects/hal%2Fhal9000/statuses/#{"0" * 40}") { |_env| [404, {}, ""] }
119
+ http_stubs.post("api/v4/projects/hal%2Fhal9000/statuses/#{"0" * 40}") { |_env| [404, {}, ""] }
120
120
 
121
121
  expect(receive_test({}, git_url: "ssh://git@gitlab.com/hal/hal9000.git")[:ok]).to eq(true)
122
122
  end
123
123
 
124
124
  it "merge request status test failure" do
125
- http_stubs.post("api/v3/projects/hal%2Fhal9000/statuses/#{"0" * 40}") { |_env| [401, {}, ""] }
125
+ http_stubs.post("api/v4/projects/hal%2Fhal9000/statuses/#{"0" * 40}") { |_env| [401, {}, ""] }
126
126
 
127
127
  expect { receive_test({}, git_url: "ssh://git@gitlab.com/hal/hal9000.git") }.to raise_error(CC::Service::HTTPError)
128
128
  end
@@ -134,8 +134,8 @@ describe CC::Service::GitlabMergeRequests, type: :service do
134
134
  end
135
135
 
136
136
  it "different base url" do
137
- http_stubs.post("api/v3/projects/hal%2Fhal9000/statuses/#{"0" * 40}") do |env|
138
- expect(env[:url].to_s).to eq("https://gitlab.hal.org/api/v3/projects/hal%2Fhal9000/statuses/#{"0" * 40}")
137
+ http_stubs.post("api/v4/projects/hal%2Fhal9000/statuses/#{"0" * 40}") do |env|
138
+ expect(env[:url].to_s).to eq("https://gitlab.hal.org/api/v4/projects/hal%2Fhal9000/statuses/#{"0" * 40}")
139
139
  [404, {}, ""]
140
140
  end
141
141
 
@@ -145,8 +145,8 @@ describe CC::Service::GitlabMergeRequests, type: :service do
145
145
  private
146
146
 
147
147
  def expect_status_update(repo, commit_sha, params)
148
- http_stubs.post "api/v3/projects/#{CGI.escape(repo)}/statuses/#{commit_sha}" do |env|
149
- expect(env[:request_headers]["PRIVATE-TOKEN"]).to eq("123")
148
+ http_stubs.post "api/v4/projects/#{CGI.escape(repo)}/statuses/#{commit_sha}" do |env|
149
+ expect(env[:request_headers]["Private-Token"]).to eq("123")
150
150
 
151
151
  body = JSON.parse(env[:body])
152
152
 
@@ -31,7 +31,7 @@ describe CC::Service::StashPullRequests, type: :service do
31
31
 
32
32
  it "pull request status success detailed" do
33
33
  expect_status_update("abc123", "state" => "SUCCESSFUL",
34
- "description" => "2 new issues (1 fixed)")
34
+ "description" => "2 issues to fix")
35
35
 
36
36
  receive_pull_request(
37
37
  commit_sha: "abc123",
@@ -41,7 +41,7 @@ describe CC::Service::StashPullRequests, type: :service do
41
41
 
42
42
  it "pull request status failure" do
43
43
  expect_status_update("abc123", "state" => "FAILED",
44
- "description" => "2 new issues (1 fixed)")
44
+ "description" => "2 issues to fix")
45
45
 
46
46
  receive_pull_request(
47
47
  commit_sha: "abc123",
@@ -75,4 +75,53 @@ describe CC::Service, type: :service do
75
75
 
76
76
  expect(services.include?(CC::PullRequests)).not_to eq(true)
77
77
  end
78
+
79
+ context "with proxy details" do
80
+ before do
81
+ @old_no_proxy = ENV["no_proxy"]
82
+ @old_http_proxy = ENV["http_proxy"]
83
+ ENV["no_proxy"] = "github.com"
84
+ ENV["http_proxy"] = "http://127.0.0.2:42"
85
+ end
86
+
87
+ after do
88
+ ENV["no_proxy"] = @old_no_proxy
89
+ ENV["http_proxy"] = @old_http_proxy
90
+ end
91
+
92
+ it "uses the proxy when it should" do
93
+ stub_http("http://proxied.test/my/test/url") do |env|
94
+ expect(env.request.proxy).to be_instance_of(Faraday::ProxyOptions)
95
+ expect(env.request.proxy.uri).to eq(URI.parse("http://127.0.0.2:42"))
96
+ [200, {}, '{"ok": true, "thing": "123"}']
97
+ end
98
+
99
+ response = service_post("http://proxied.test/my/test/url", { token: "1234" }.to_json, {}) do |inner_response|
100
+ body = JSON.parse(inner_response.body)
101
+ { thing: body["thing"] }
102
+ end
103
+
104
+ expect(response[:ok]).to eq(true)
105
+ expect(response[:params]).to eq('{"token":"1234"}')
106
+ expect(response[:endpoint_url]).to eq("http://proxied.test/my/test/url")
107
+ expect(response[:status]).to eq(200)
108
+ end
109
+
110
+ it "respects proxy exclusions" do
111
+ stub_http("http://github.com/my/test/url") do |env|
112
+ expect(env.request.proxy).to be_nil
113
+ [200, {}, '{"ok": true, "thing": "123"}']
114
+ end
115
+
116
+ response = service_post("http://github.com/my/test/url", { token: "1234" }.to_json, {}) do |inner_response|
117
+ body = JSON.parse(inner_response.body)
118
+ { thing: body["thing"] }
119
+ end
120
+
121
+ expect(response[:ok]).to eq(true)
122
+ expect(response[:params]).to eq('{"token":"1234"}')
123
+ expect(response[:endpoint_url]).to eq("http://github.com/my/test/url")
124
+ expect(response[:status]).to eq(200)
125
+ end
126
+ end
78
127
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codeclimate-services
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.7
4
+ version: 1.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Helmkamp
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-03 00:00:00.000000000 Z
11
+ date: 2021-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -129,6 +129,7 @@ executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
+ - ".circleci/config.yml"
132
133
  - ".codeclimate.yml"
133
134
  - ".gitignore"
134
135
  - ".rspec"
@@ -144,11 +145,11 @@ files:
144
145
  - bin/nokogiri
145
146
  - bin/pry
146
147
  - bin/rake
147
- - circle.yml
148
148
  - codeclimate-services.gemspec
149
149
  - config/cacert.pem
150
150
  - config/load.rb
151
151
  - lib/axiom/types/password.rb
152
+ - lib/axiom/types/token.rb
152
153
  - lib/cc/formatters/linked_formatter.rb
153
154
  - lib/cc/formatters/plain_formatter.rb
154
155
  - lib/cc/formatters/snapshot_formatter.rb
@@ -190,6 +191,7 @@ files:
190
191
  - pull_request_test.rb
191
192
  - service_test.rb
192
193
  - spec/axiom/types/password_spec.rb
194
+ - spec/axiom/types/token_spec.rb
193
195
  - spec/cc/formatters/snapshot_formatter_spec.rb
194
196
  - spec/cc/presenters/pull_requests_presenter_spec.rb
195
197
  - spec/cc/resolve_spec.rb
@@ -216,11 +218,11 @@ files:
216
218
  - spec/support/fake_logger.rb
217
219
  - spec/support/resolv_helpers.rb
218
220
  - spec/support/service_context.rb
219
- homepage: ''
221
+ homepage: https://codeclimate.com/
220
222
  licenses:
221
223
  - MIT
222
224
  metadata: {}
223
- post_install_message:
225
+ post_install_message:
224
226
  rdoc_options: []
225
227
  require_paths:
226
228
  - lib
@@ -235,13 +237,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
237
  - !ruby/object:Gem::Version
236
238
  version: '0'
237
239
  requirements: []
238
- rubyforge_project:
239
- rubygems_version: 2.6.11
240
- signing_key:
240
+ rubygems_version: 3.0.3
241
+ signing_key:
241
242
  specification_version: 4
242
243
  summary: Service classes for Code Climate
243
244
  test_files:
244
245
  - spec/axiom/types/password_spec.rb
246
+ - spec/axiom/types/token_spec.rb
245
247
  - spec/cc/formatters/snapshot_formatter_spec.rb
246
248
  - spec/cc/presenters/pull_requests_presenter_spec.rb
247
249
  - spec/cc/resolve_spec.rb
data/circle.yml DELETED
@@ -1,3 +0,0 @@
1
- test:
2
- override:
3
- - bundle exec rake && bundle exec codeclimate-test-reporter