codeclimate-services 1.9.7 → 1.11.1

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