zerobounce 0.1.2 → 0.2.0
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 +4 -4
- data/.github/workflows/gem-push.yml +43 -0
- data/.github/workflows/ruby.yml +34 -0
- data/.rubocop.yml +6 -2
- data/.ruby-version +1 -1
- data/CHANGELOG.md +6 -0
- data/lib/zerobounce/error.rb +16 -12
- data/lib/zerobounce/response.rb +1 -1
- data/lib/zerobounce/response/v2_response.rb +1 -1
- data/lib/zerobounce/version.rb +1 -1
- data/zerobounce.gemspec +11 -7
- metadata +51 -22
- data/.circleci/config.yml +0 -136
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4bfc224ce092b8c62648cec52d26f94a80b501f75dad50dd035b91e3a46cbab
|
4
|
+
data.tar.gz: d9d93f3ac83d697f45676abd22b4281971229e0756d3e287e3e9150a67d4b13e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70876ead4ecad57b9fa09812c04ebb6bf6dee39d32c699a84e8735bd519b611fc8dc8a3e3c94b1483ae8bf407f6e2f665022fb9014bdb7424c06345af813c8db
|
7
|
+
data.tar.gz: a2a0a495b3fa207556427caed2ee411a1af9ead813ea4b68d9ff4d390f8ca77629bbbe9a89602c495a02f81b57a2b519fe466e21310a9eac610b1e65672c154e
|
@@ -0,0 +1,43 @@
|
|
1
|
+
name: Ruby Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
name: Build + Publish
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
permissions:
|
12
|
+
contents: read
|
13
|
+
packages: write
|
14
|
+
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v2
|
17
|
+
- name: Set up Ruby 2.6
|
18
|
+
uses: actions/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 2.6.x
|
21
|
+
|
22
|
+
- name: Publish to GPR
|
23
|
+
run: |
|
24
|
+
mkdir -p $HOME/.gem
|
25
|
+
touch $HOME/.gem/credentials
|
26
|
+
chmod 0600 $HOME/.gem/credentials
|
27
|
+
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
28
|
+
gem build *.gemspec
|
29
|
+
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
30
|
+
env:
|
31
|
+
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
|
32
|
+
OWNER: ${{ github.repository_owner }}
|
33
|
+
|
34
|
+
- name: Publish to RubyGems
|
35
|
+
run: |
|
36
|
+
mkdir -p $HOME/.gem
|
37
|
+
touch $HOME/.gem/credentials
|
38
|
+
chmod 0600 $HOME/.gem/credentials
|
39
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
40
|
+
gem build *.gemspec
|
41
|
+
gem push *.gem
|
42
|
+
env:
|
43
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
name: Ruby
|
8
|
+
|
9
|
+
on:
|
10
|
+
push:
|
11
|
+
branches: [ master ]
|
12
|
+
pull_request:
|
13
|
+
branches: [ master ]
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
test:
|
17
|
+
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
strategy:
|
20
|
+
matrix:
|
21
|
+
ruby-version: ['2.5', '2.6', '2.7', '3.0']
|
22
|
+
|
23
|
+
steps:
|
24
|
+
- uses: actions/checkout@v2
|
25
|
+
- name: Set up Ruby
|
26
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
27
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
28
|
+
# uses: ruby/setup-ruby@v1
|
29
|
+
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
30
|
+
with:
|
31
|
+
ruby-version: ${{ matrix.ruby-version }}
|
32
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
33
|
+
- name: Run tests
|
34
|
+
run: bundle exec rake
|
data/.rubocop.yml
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
require: rubocop-rspec
|
2
2
|
|
3
3
|
AllCops:
|
4
|
-
TargetRubyVersion: 2.
|
4
|
+
TargetRubyVersion: 2.5
|
5
|
+
NewCops: enable
|
5
6
|
|
6
7
|
Exclude:
|
7
8
|
- 'bin/*'
|
@@ -16,7 +17,7 @@ Style/Documentation:
|
|
16
17
|
Metrics/AbcSize:
|
17
18
|
Max: 18
|
18
19
|
|
19
|
-
|
20
|
+
Layout/LineLength:
|
20
21
|
Max: 120
|
21
22
|
Exclude:
|
22
23
|
- 'spec/**/*'
|
@@ -36,3 +37,6 @@ Style/SymbolArray:
|
|
36
37
|
|
37
38
|
RSpec/NestedGroups:
|
38
39
|
Max: 5
|
40
|
+
|
41
|
+
Style/AccessorGrouping:
|
42
|
+
EnforcedStyle: separated
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.7.3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.2.0
|
2
|
+
|
3
|
+
* Update faraday and faraday_middleware dependency requirements.
|
4
|
+
* Update rubocop dev dependencies and fixed failures.
|
5
|
+
* Updated minimum ruby version to 2.5.
|
6
|
+
|
1
7
|
# 0.1.2
|
2
8
|
|
3
9
|
* Removed the double quote from the body check since it appears a space is added after the colon.
|
data/lib/zerobounce/error.rb
CHANGED
@@ -7,28 +7,26 @@ module Zerobounce
|
|
7
7
|
#
|
8
8
|
# @author Aaron Frase
|
9
9
|
class Error < StandardError
|
10
|
+
attr_reader :env
|
11
|
+
|
10
12
|
def initialize(env={})
|
11
13
|
@env = env
|
12
|
-
|
13
|
-
|
14
|
-
# Message for the error.
|
15
|
-
#
|
16
|
-
# @return [String]
|
17
|
-
def message
|
18
|
-
@env[:body]
|
14
|
+
super(env[:body])
|
19
15
|
end
|
20
16
|
|
21
17
|
class << self
|
22
18
|
# Parse the response for errors.
|
23
19
|
#
|
24
20
|
# @param [Hash] env
|
25
|
-
# @return [Error]
|
21
|
+
# @return [Error, nil]
|
26
22
|
def from_response(env)
|
27
23
|
case env[:status]
|
28
24
|
when 500
|
29
|
-
|
25
|
+
parse500(env)
|
30
26
|
when 200
|
31
|
-
|
27
|
+
parse200(env)
|
28
|
+
else
|
29
|
+
UnknownError.new(env)
|
32
30
|
end
|
33
31
|
end
|
34
32
|
|
@@ -36,7 +34,7 @@ module Zerobounce
|
|
36
34
|
|
37
35
|
# @param [Hash] env
|
38
36
|
# @return [Error]
|
39
|
-
def
|
37
|
+
def parse500(env)
|
40
38
|
if env[:body].to_s.start_with?('Missing parameter')
|
41
39
|
MissingParameter.new(env)
|
42
40
|
else
|
@@ -46,7 +44,7 @@ module Zerobounce
|
|
46
44
|
|
47
45
|
# @param [Hash] env
|
48
46
|
# @return [Error, nil]
|
49
|
-
def
|
47
|
+
def parse200(env)
|
50
48
|
# The body hasn't been parsed yet and to avoid potentially parsing the body twice
|
51
49
|
# we just use String#start_with?
|
52
50
|
ApiError.new(env) if env[:body].to_s.start_with?('{"error":')
|
@@ -66,6 +64,12 @@ module Zerobounce
|
|
66
64
|
class MissingParameter < Error
|
67
65
|
end
|
68
66
|
|
67
|
+
# When the status code isn't in the defined codes to parse.
|
68
|
+
#
|
69
|
+
# @author Aaron Frase
|
70
|
+
class UnknownError < Error
|
71
|
+
end
|
72
|
+
|
69
73
|
# General API error, the response code was 200 but an error still occurred.
|
70
74
|
#
|
71
75
|
# @author Aaron Frase
|
data/lib/zerobounce/response.rb
CHANGED
@@ -13,7 +13,7 @@ module Zerobounce
|
|
13
13
|
# The request instance.
|
14
14
|
#
|
15
15
|
# @attr_reader [Faraday::Response] response
|
16
|
-
# The original {https://www.rubydoc.info/gems/faraday/
|
16
|
+
# The original {https://www.rubydoc.info/gems/faraday/1.4.2/Faraday/Response Faraday::Response}
|
17
17
|
class Response
|
18
18
|
attr_reader :response
|
19
19
|
attr_reader :request
|
data/lib/zerobounce/version.rb
CHANGED
data/zerobounce.gemspec
CHANGED
@@ -24,16 +24,20 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
24
24
|
|
25
25
|
spec.metadata['yard.run'] = 'yri' # use "yard" to build full HTML docs.
|
26
26
|
|
27
|
+
spec.required_ruby_version = '>= 2.5'
|
28
|
+
|
27
29
|
spec.add_dependency 'faraday', '>= 0.14', '< 2.0'
|
28
|
-
spec.add_dependency 'faraday_middleware', '~> 0
|
30
|
+
spec.add_dependency 'faraday_middleware', '~> 1.0'
|
29
31
|
|
30
|
-
spec.add_development_dependency 'bundler', '~>
|
31
|
-
spec.add_development_dependency 'pry', '~> 0.
|
32
|
+
spec.add_development_dependency 'bundler', '~> 2.2.17'
|
33
|
+
spec.add_development_dependency 'pry', '~> 0.14.1'
|
32
34
|
spec.add_development_dependency 'rake', '~> 13.0'
|
33
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
34
36
|
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
|
35
|
-
spec.add_development_dependency 'rubocop', '~>
|
36
|
-
spec.add_development_dependency 'rubocop-
|
37
|
-
spec.add_development_dependency '
|
38
|
-
spec.add_development_dependency '
|
37
|
+
spec.add_development_dependency 'rubocop', '~> 1.15'
|
38
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.3'
|
39
|
+
spec.add_development_dependency 'rubocop-rake', '~> 0.5.1'
|
40
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
|
41
|
+
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
42
|
+
spec.add_development_dependency 'yard', '~> 0.9.26'
|
39
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zerobounce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Frase
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -36,42 +36,42 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0
|
39
|
+
version: '1.0'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0
|
46
|
+
version: '1.0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 2.2.17
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
60
|
+
version: 2.2.17
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: pry
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: 0.
|
67
|
+
version: 0.14.1
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
74
|
+
version: 0.14.1
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rake
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,62 +120,90 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
123
|
+
version: '1.15'
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
130
|
+
version: '1.15'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
|
-
name: rubocop-
|
132
|
+
name: rubocop-performance
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '1.
|
137
|
+
version: '1.11'
|
138
138
|
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version: 1.
|
140
|
+
version: 1.11.3
|
141
141
|
type: :development
|
142
142
|
prerelease: false
|
143
143
|
version_requirements: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
145
|
- - "~>"
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version: '1.
|
147
|
+
version: '1.11'
|
148
148
|
- - ">="
|
149
149
|
- !ruby/object:Gem::Version
|
150
|
-
version: 1.
|
150
|
+
version: 1.11.3
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: rubocop-rake
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.5.1
|
158
|
+
type: :development
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - "~>"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: 0.5.1
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: rubocop-rspec
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - "~>"
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '2.3'
|
172
|
+
type: :development
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - "~>"
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '2.3'
|
151
179
|
- !ruby/object:Gem::Dependency
|
152
180
|
name: simplecov
|
153
181
|
requirement: !ruby/object:Gem::Requirement
|
154
182
|
requirements:
|
155
183
|
- - "~>"
|
156
184
|
- !ruby/object:Gem::Version
|
157
|
-
version: 0.
|
185
|
+
version: 0.21.2
|
158
186
|
type: :development
|
159
187
|
prerelease: false
|
160
188
|
version_requirements: !ruby/object:Gem::Requirement
|
161
189
|
requirements:
|
162
190
|
- - "~>"
|
163
191
|
- !ruby/object:Gem::Version
|
164
|
-
version: 0.
|
192
|
+
version: 0.21.2
|
165
193
|
- !ruby/object:Gem::Dependency
|
166
194
|
name: yard
|
167
195
|
requirement: !ruby/object:Gem::Requirement
|
168
196
|
requirements:
|
169
197
|
- - "~>"
|
170
198
|
- !ruby/object:Gem::Version
|
171
|
-
version: 0.9.
|
199
|
+
version: 0.9.26
|
172
200
|
type: :development
|
173
201
|
prerelease: false
|
174
202
|
version_requirements: !ruby/object:Gem::Requirement
|
175
203
|
requirements:
|
176
204
|
- - "~>"
|
177
205
|
- !ruby/object:Gem::Version
|
178
|
-
version: 0.9.
|
206
|
+
version: 0.9.26
|
179
207
|
description: A Ruby client for Zerobounce.net.
|
180
208
|
email:
|
181
209
|
- afrase91@gmail.com
|
@@ -183,11 +211,12 @@ executables: []
|
|
183
211
|
extensions: []
|
184
212
|
extra_rdoc_files: []
|
185
213
|
files:
|
186
|
-
- ".circleci/config.yml"
|
187
214
|
- ".editorconfig"
|
188
215
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
189
216
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
190
217
|
- ".github/pull_request_template.md"
|
218
|
+
- ".github/workflows/gem-push.yml"
|
219
|
+
- ".github/workflows/ruby.yml"
|
191
220
|
- ".gitignore"
|
192
221
|
- ".rspec"
|
193
222
|
- ".rubocop.yml"
|
@@ -228,14 +257,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
228
257
|
requirements:
|
229
258
|
- - ">="
|
230
259
|
- !ruby/object:Gem::Version
|
231
|
-
version: '
|
260
|
+
version: '2.5'
|
232
261
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
262
|
requirements:
|
234
263
|
- - ">="
|
235
264
|
- !ruby/object:Gem::Version
|
236
265
|
version: '0'
|
237
266
|
requirements: []
|
238
|
-
rubygems_version: 3.0.
|
267
|
+
rubygems_version: 3.0.3.1
|
239
268
|
signing_key:
|
240
269
|
specification_version: 4
|
241
270
|
summary: A Ruby client for Zerobounce.net.
|
data/.circleci/config.yml
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
version: 2
|
2
|
-
|
3
|
-
workspace_root: &workspace_root
|
4
|
-
~/zerobounce
|
5
|
-
|
6
|
-
defaults: &defaults
|
7
|
-
working_directory: *workspace_root
|
8
|
-
docker:
|
9
|
-
- image: circleci/ruby:2.4
|
10
|
-
|
11
|
-
attach_workspace: &attach_workspace
|
12
|
-
attach_workspace:
|
13
|
-
at: *workspace_root
|
14
|
-
|
15
|
-
restore_repo: &restore_repo
|
16
|
-
restore_cache:
|
17
|
-
name: Restore repository
|
18
|
-
keys:
|
19
|
-
- v1-repo-{{ .Branch }}-{{ .Revision }}
|
20
|
-
|
21
|
-
restore_gems: &restore_gems
|
22
|
-
restore_cache:
|
23
|
-
name: Restore gems
|
24
|
-
keys:
|
25
|
-
- v1-zerobounce-{{ checksum "Gemfile.lock" }}
|
26
|
-
|
27
|
-
jobs:
|
28
|
-
checkout-code:
|
29
|
-
<<: *defaults
|
30
|
-
steps:
|
31
|
-
- checkout
|
32
|
-
- save_cache:
|
33
|
-
key: v1-repo-{{ .Branch }}-{{ .Revision }}
|
34
|
-
paths:
|
35
|
-
- *workspace_root
|
36
|
-
|
37
|
-
bundle-dependencies:
|
38
|
-
<<: *defaults
|
39
|
-
steps:
|
40
|
-
- *restore_repo
|
41
|
-
- *restore_gems
|
42
|
-
- run:
|
43
|
-
name: Install Bundler dependencies
|
44
|
-
command: |
|
45
|
-
bin/bundle install --path=vendor/bundle \
|
46
|
-
--jobs=4 \
|
47
|
-
--retry=3
|
48
|
-
- run:
|
49
|
-
name: Setup Code Climate test-reporter
|
50
|
-
command: |
|
51
|
-
mkdir -p tmp/
|
52
|
-
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./tmp/cc-test-reporter
|
53
|
-
chmod +x ./tmp/cc-test-reporter
|
54
|
-
- save_cache:
|
55
|
-
key: v1-zerobounce-{{ checksum "Gemfile.lock" }}
|
56
|
-
paths:
|
57
|
-
- vendor/bundle
|
58
|
-
- persist_to_workspace:
|
59
|
-
root: *workspace_root
|
60
|
-
paths:
|
61
|
-
- vendor/bundle
|
62
|
-
- tmp/cc-test-reporter
|
63
|
-
|
64
|
-
run-specs:
|
65
|
-
<<: *defaults
|
66
|
-
parallelism: 2
|
67
|
-
steps:
|
68
|
-
- *restore_repo
|
69
|
-
- *attach_workspace
|
70
|
-
- run:
|
71
|
-
name: Set bundler path
|
72
|
-
command: bin/bundle --path vendor/bundle
|
73
|
-
- run:
|
74
|
-
name: Run tests
|
75
|
-
command: |
|
76
|
-
bin/bundle exec rspec --profile 10 \
|
77
|
-
--format RspecJunitFormatter \
|
78
|
-
--out test_results/rspec.xml \
|
79
|
-
--format progress \
|
80
|
-
$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
|
81
|
-
./tmp/cc-test-reporter format-coverage \
|
82
|
-
-t simplecov \
|
83
|
-
-o tmp/codeclimate.${CIRCLE_NODE_INDEX}.json \
|
84
|
-
${CIRCLE_ARTIFACTS}/coverage/.resultset.json
|
85
|
-
- persist_to_workspace:
|
86
|
-
root: *workspace_root
|
87
|
-
paths:
|
88
|
-
- tmp
|
89
|
-
- store_test_results:
|
90
|
-
path: test_results
|
91
|
-
- store_artifacts:
|
92
|
-
path: test_results
|
93
|
-
destination: test-results
|
94
|
-
- store_artifacts:
|
95
|
-
path: coverage
|
96
|
-
destination: test-coverage
|
97
|
-
|
98
|
-
upload-coverage:
|
99
|
-
<<: *defaults
|
100
|
-
steps:
|
101
|
-
- *attach_workspace
|
102
|
-
- run:
|
103
|
-
name: Upload coverage results to Code Climate
|
104
|
-
command: |
|
105
|
-
./tmp/cc-test-reporter sum-coverage tmp/codeclimate.*.json -p 2 -o tmp/codeclimate.total.json
|
106
|
-
./tmp/cc-test-reporter upload-coverage -i tmp/codeclimate.total.json
|
107
|
-
|
108
|
-
run-rubocop:
|
109
|
-
<<: *defaults
|
110
|
-
steps:
|
111
|
-
- *restore_repo
|
112
|
-
- *attach_workspace
|
113
|
-
- run:
|
114
|
-
name: Set bundler path
|
115
|
-
command: bin/bundle --path vendor/bundle
|
116
|
-
- run:
|
117
|
-
name: Run rubocop
|
118
|
-
command: bin/bundle exec rubocop
|
119
|
-
|
120
|
-
workflows:
|
121
|
-
version: 2
|
122
|
-
build-test:
|
123
|
-
jobs:
|
124
|
-
- checkout-code
|
125
|
-
- bundle-dependencies:
|
126
|
-
requires:
|
127
|
-
- checkout-code
|
128
|
-
- run-rubocop:
|
129
|
-
requires:
|
130
|
-
- bundle-dependencies
|
131
|
-
- run-specs:
|
132
|
-
requires:
|
133
|
-
- bundle-dependencies
|
134
|
-
- upload-coverage:
|
135
|
-
requires:
|
136
|
-
- run-specs
|