selfies 1.5.1 → 1.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9dfe1eab3c0d25c4eb7773d1b7d3f11ad7adf594f62e12df1efe6b3860424f50
4
- data.tar.gz: d4ff4b05632b99996f4e01382e6a1f2167dd07621f086113b5810397ca48c706
3
+ metadata.gz: feeaef98022dc5721a78393eb1053593ac195c5428f5f7670a61332f942767ee
4
+ data.tar.gz: d358892a4ba9df82b2a6c92b6f204367c5031da80429aeec18c6ce7fc927d44c
5
5
  SHA512:
6
- metadata.gz: 3496c70d6512d6bd3806661d7276c5521f469171213bee2c9abb98e72246342a804ffd836abe7d6522da8ad50af4435d7177f6c2aa51cd3f8b59653b83a33aee
7
- data.tar.gz: 2560be8d720c58296e9b9388f3749a7205b47c4b9dd21e0f839a7d6955ed6efad58f6e6d9522e99532318b36ef911288febaaf09c4135bdc07d9d9ae008c7d95
6
+ metadata.gz: 72175878d5030251a60c187aa3e0ca6de20fa47ec41d19dca660d4a4f3b3f2c9d2bed073ac7d40a09d9ed7af99cfd0756b0824451d1ba21d4087e1a7fbaca2d9
7
+ data.tar.gz: c423f9fa815e79fd4025cade25b256658297dcd1bf9d3588304cb321cfb52365f5923a497f9a3fdb5f4b0302529e570b0b5cf99fdf5c9a94f2d0f15676520dcd
data/.gitignore CHANGED
@@ -4,4 +4,3 @@
4
4
  .DS_Store
5
5
  .rspec_status
6
6
  .ruby-version
7
- Gemfile.lock
data/.rubocop.yml CHANGED
@@ -1,6 +1,11 @@
1
+ plugins:
2
+ - rubocop-rake
3
+
1
4
  AllCops:
2
- TargetRubyVersion: 2.7
5
+ TargetRubyVersion: 3.4
6
+ NewCops: enable
3
7
  DisplayCopNames: true
8
+ SuggestExtensions: false
4
9
  Exclude:
5
10
  - bin/**/*
6
11
  - vendor/**/*
@@ -8,9 +13,17 @@ AllCops:
8
13
  Layout/LineLength:
9
14
  Max: 100
10
15
 
16
+ Lint/ConstantDefinitionInBlock:
17
+ Exclude:
18
+ - "**/*_spec.rb"
19
+
20
+ Lint/EmptyClass:
21
+ Exclude:
22
+ - "**/*_spec.rb"
23
+
11
24
  Metrics/BlockLength:
12
25
  Exclude:
13
- - '**/*_spec.rb'
26
+ - "**/*_spec.rb"
14
27
 
15
28
  Metrics/MethodLength:
16
29
  Max: 15
data/Gemfile CHANGED
@@ -2,9 +2,19 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- ruby '>= 2.5'
5
+ ruby '>= 3.4'
6
6
 
7
7
  Encoding.default_external = Encoding::UTF_8
8
8
  Encoding.default_internal = Encoding::UTF_8
9
9
 
10
+ group :development do
11
+ gem 'pry'
12
+ gem 'rake'
13
+ gem 'reline'
14
+ gem 'rspec'
15
+ gem 'rubocop'
16
+ gem 'rubocop-rake'
17
+ gem 'simplecov'
18
+ end
19
+
10
20
  gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,88 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ selfies (1.5.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ast (2.4.2)
10
+ coderay (1.1.3)
11
+ diff-lcs (1.6.0)
12
+ docile (1.4.1)
13
+ io-console (0.8.0)
14
+ json (2.10.1)
15
+ language_server-protocol (3.17.0.4)
16
+ lint_roller (1.1.0)
17
+ method_source (1.1.0)
18
+ parallel (1.26.3)
19
+ parser (3.3.7.1)
20
+ ast (~> 2.4.1)
21
+ racc
22
+ pry (0.15.2)
23
+ coderay (~> 1.1)
24
+ method_source (~> 1.0)
25
+ racc (1.8.1)
26
+ rainbow (3.1.1)
27
+ rake (13.2.1)
28
+ regexp_parser (2.10.0)
29
+ reline (0.6.0)
30
+ io-console (~> 0.5)
31
+ rspec (3.13.0)
32
+ rspec-core (~> 3.13.0)
33
+ rspec-expectations (~> 3.13.0)
34
+ rspec-mocks (~> 3.13.0)
35
+ rspec-core (3.13.3)
36
+ rspec-support (~> 3.13.0)
37
+ rspec-expectations (3.13.3)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.13.0)
40
+ rspec-mocks (3.13.2)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.13.0)
43
+ rspec-support (3.13.2)
44
+ rubocop (1.73.2)
45
+ json (~> 2.3)
46
+ language_server-protocol (~> 3.17.0.2)
47
+ lint_roller (~> 1.1.0)
48
+ parallel (~> 1.10)
49
+ parser (>= 3.3.0.2)
50
+ rainbow (>= 2.2.2, < 4.0)
51
+ regexp_parser (>= 2.9.3, < 3.0)
52
+ rubocop-ast (>= 1.38.0, < 2.0)
53
+ ruby-progressbar (~> 1.7)
54
+ unicode-display_width (>= 2.4.0, < 4.0)
55
+ rubocop-ast (1.38.1)
56
+ parser (>= 3.3.1.0)
57
+ rubocop-rake (0.7.1)
58
+ lint_roller (~> 1.1)
59
+ rubocop (>= 1.72.1)
60
+ ruby-progressbar (1.13.0)
61
+ simplecov (0.22.0)
62
+ docile (~> 1.1)
63
+ simplecov-html (~> 0.11)
64
+ simplecov_json_formatter (~> 0.1)
65
+ simplecov-html (0.13.1)
66
+ simplecov_json_formatter (0.1.4)
67
+ unicode-display_width (3.1.4)
68
+ unicode-emoji (~> 4.0, >= 4.0.4)
69
+ unicode-emoji (4.0.4)
70
+
71
+ PLATFORMS
72
+ ruby
73
+
74
+ DEPENDENCIES
75
+ pry
76
+ rake
77
+ reline
78
+ rspec
79
+ rubocop
80
+ rubocop-rake
81
+ selfies!
82
+ simplecov
83
+
84
+ RUBY VERSION
85
+ ruby 3.4.2p28
86
+
87
+ BUNDLED WITH
88
+ 2.6.2
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Selfies
2
- [![Gem Version](https://badge.fury.io/rb/selfies.svg)](https://badge.fury.io/rb/selfies) [![CircleCI](https://circleci.com/gh/mariodarco/selfies.svg?style=svg)](https://circleci.com/gh/mariodarco/selfies) [![Maintainability](https://api.codeclimate.com/v1/badges/94e80322bd510cec589d/maintainability)](https://codeclimate.com/github/mariodarco/selfies/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/94e80322bd510cec589d/test_coverage)](https://codeclimate.com/github/mariodarco/selfies/test_coverage)
3
2
 
4
3
  **A collection of macros for quicker development**
5
4
 
6
5
  Another day at work, or on your personal project, and you need to create yet another class, which comes with the user boilerplate:
6
+
7
7
  - The initializer needs to be defined, with n parameters
8
- - Inside that, the usual ```@param = param```, multiplied for how many params you've got there
8
+ - Inside that, the usual `@param = param`, multiplied for how many params you've got there
9
9
  - Then it's the turn of the attr_reader for those parameters
10
10
  - Then you are likely to need a class method that does nothing else than initializing the class and calling an instance method of the same name
11
11
  - more?
@@ -15,11 +15,13 @@ This gets boring with the years. So boring that someone might decide to write so
15
15
  ## TL;DR
16
16
 
17
17
  You add this:
18
+
18
19
  ```ruby
19
20
  gem 'selfies'
20
21
  ```
21
22
 
22
23
  You write this:
24
+
23
25
  ```ruby
24
26
  class Rectangle
25
27
  attr_accessor_init :width, :height, scale: 100
@@ -42,6 +44,7 @@ end
42
44
  ```
43
45
 
44
46
  You get this:
47
+
45
48
  ```ruby
46
49
  >> Rectangle.area(8, 4)
47
50
  => 32.0
@@ -73,9 +76,10 @@ $ gem install selfies
73
76
 
74
77
  ## Usage
75
78
 
76
- ***attr_reader_init***: can be used to automatically generate an initialiser for your class
79
+ **_attr_reader_init_**: can be used to automatically generate an initialiser for your class
77
80
 
78
81
  This code:
82
+
79
83
  ```ruby
80
84
  class Search
81
85
  attr_reader_init :term, :page, :limit
@@ -83,6 +87,7 @@ end
83
87
  ```
84
88
 
85
89
  Is equivalent to:
90
+
86
91
  ```ruby
87
92
  class Search
88
93
  attr_reader :term, :page, :limit
@@ -98,6 +103,7 @@ end
98
103
  It is possible to specify a default for the last argument only:
99
104
 
100
105
  This code:
106
+
101
107
  ```ruby
102
108
  class Search
103
109
  attr_reader_init :term, :page, limit: 5
@@ -105,6 +111,7 @@ end
105
111
  ```
106
112
 
107
113
  Is equivalent to:
114
+
108
115
  ```ruby
109
116
  class Search
110
117
  attr_reader :term, :page, :limit
@@ -124,9 +131,10 @@ end
124
131
  ```
125
132
 
126
133
  You can use any variable name that would make for a valid Ruby variable;
127
- Only exception is ```:args``` which is used by ```selfies``` to define a splat operator:
134
+ Only exception is `:args` which is used by `selfies` to define a splat operator:
128
135
 
129
136
  This code:
137
+
130
138
  ```ruby
131
139
  class Search
132
140
  attr_reader_init :term, :args
@@ -134,6 +142,7 @@ end
134
142
  ```
135
143
 
136
144
  Is equivalent to:
145
+
137
146
  ```ruby
138
147
  class Search
139
148
  attr_reader :term, :args
@@ -151,9 +160,10 @@ end
151
160
  => [2, 10]
152
161
  ```
153
162
 
154
- ***attr_accessor_init***: same as ```attr_reader_init```, but generates accessors for the given attributes
163
+ **_attr_accessor_init_**: same as `attr_reader_init`, but generates accessors for the given attributes
155
164
 
156
165
  This code:
166
+
157
167
  ```ruby
158
168
  class Search
159
169
  attr_accessor_init :term, :page, :limit
@@ -161,6 +171,7 @@ end
161
171
  ```
162
172
 
163
173
  Is equivalent to:
174
+
164
175
  ```ruby
165
176
  class Search
166
177
  attr_accessor :term, :page, :limit
@@ -173,9 +184,10 @@ class Search
173
184
  end
174
185
  ```
175
186
 
176
- ***selfie***: can be used to automatically create a class method that reference to the instance method of the same class
187
+ **_selfie_**: can be used to automatically create a class method that reference to the instance method of the same class
177
188
 
178
189
  This code:
190
+
179
191
  ```ruby
180
192
  class Search
181
193
  attr_reader :term, :page, :limit
@@ -205,6 +217,7 @@ end
205
217
  ```
206
218
 
207
219
  Can be written as:
220
+
208
221
  ```ruby
209
222
  class Search
210
223
  attr_reader_init :term, :page, :limit
@@ -222,6 +235,7 @@ end
222
235
  ```
223
236
 
224
237
  If preferred, more methods can be 'selfied' in one liner:
238
+
225
239
  ```ruby
226
240
  class Search
227
241
  ...
@@ -239,26 +253,32 @@ end
239
253
 
240
254
  ## Next Steps
241
255
 
242
- ***attr_reader_init*** and ***attr_accessor_init:***
256
+ **_attr_reader_init_** and **_attr_accessor_init:_**
257
+
243
258
  - Improve message when raising ArgumentError;
244
259
 
245
- ***selfie:***
260
+ **_selfie:_**
261
+
246
262
  - Find a suitable syntax that would allow to 'selfie' an instance method that has arguments;
247
263
 
248
- ***command line:***
264
+ **_command line:_**
265
+
249
266
  - Write a command that can initialize a whole class, from creating the file to stub the initial setup;
250
267
 
251
- ***more?:***
268
+ **_more?:_**
269
+
252
270
  - If you also often write repetitive boilerplate, and would like some code to get smaller, drop me a line and we might be able to add more macros.
253
271
 
254
272
  ## Development
255
273
 
256
274
  Ruby version:
275
+
257
276
  ```bash
258
- >= 2.5
277
+ >= 3.4
259
278
  ```
260
279
 
261
280
  Fork the project, clone the repository and bundle:
281
+
262
282
  ```bash
263
283
  >> git clone https://{your_fork}/selfies
264
284
  >> cd selfies
@@ -276,4 +296,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/mariod
276
296
  ## License
277
297
 
278
298
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
279
-
@@ -0,0 +1,90 @@
1
+ #!/bin/bash
2
+
3
+ # Script to generate a CircleCI 2.0 `.circleci/config.yml` file
4
+ # Please see the README for more details
5
+
6
+ echo -e "Gathering info please wait..."
7
+
8
+ # Get and set variables
9
+ circle_dir="./.circleci"
10
+ conf_file="./.circleci/config.yml"
11
+ vcs_provider="$(git remote get-url --push origin | perl -ne 'print $1 if /([A-Za-z]*)\.(com|org)/')"
12
+ project="$(git remote get-url --push origin | perl -ne 'print $1 if /([^\/:]*\/[^\/]*?)(.git)?$/')"
13
+ test_branch="circleci-20-test"
14
+ remote_test_branch="$(git ls-remote git@"$vcs_provider".com:"${project}".git "$test_branch")"
15
+ local_test_branch="$(git branch -a | grep "$test_branch")"
16
+
17
+
18
+ echo "git origin references \`${project}\` hosted by ${vcs_provider}, which will be used as source."
19
+
20
+
21
+ # Check if this is a GitHub or Bitbucket repo
22
+ if [ "$vcs_provider" != "github" ] && [ "$vcs_provider" != "bitbucket" ] ; then
23
+ echo -e "CircleCI currently supports bitbucket and github only"
24
+ exit
25
+ fi
26
+
27
+ # Set vcs_short variable
28
+ if [ "$vcs_provider" = "github" ]
29
+ then
30
+ vcs_short="gh"
31
+ fi
32
+
33
+ if [ "$vcs_provider" = "bitbucket" ]
34
+ then
35
+ vcs_short="bb"
36
+ fi
37
+
38
+ # Check if test branch exists on remote
39
+ if [ -n "$remote_test_branch" ]
40
+ then
41
+ echo -e "${test_branch} branch already exists on remote - please delete it before continuing."
42
+ exit
43
+ fi
44
+
45
+ # Check if branch exists locally and create it if not
46
+ if [ -z "$local_test_branch" ]
47
+ then
48
+ git checkout -b ${test_branch} && echo -e "Created ${test_branch} branch and switched to it."
49
+ else
50
+ echo -e "${test_branch} branch already exists locally - please delete it before continuing."
51
+ exit
52
+ fi
53
+
54
+ # Create .cirleci directory if it doesn't exist
55
+ if [ ! -d "$circle_dir" ]
56
+ then
57
+ mkdir "$circle_dir"
58
+ fi
59
+
60
+ # Create config.yml if it doesn't exist
61
+ if [ ! -d "$conf_file" ]
62
+ then
63
+ touch "$conf_file"
64
+ else
65
+ echo -e ".circleci/config.yml already exists. Please delete it before running this script again."
66
+ exit
67
+ fi
68
+
69
+
70
+ # Read in API token
71
+ read -rp 'Paste your CircleCI API token here: ' circle_token
72
+
73
+ # Generate config file from translation endpoint
74
+ echo -e "Generating config file via CircleCI API"
75
+ curl -X GET https://circleci.com/api/v1.1/project/"${vcs_provider}"/"${project}"/config-translation?circle-token="$circle_token"\&branch=${test_branch} > $conf_file
76
+ echo -e "Config file written to .circleci/config.yml"
77
+
78
+ read -rp 'Would you like to commit this change and push the test branch to try the build on CircleCI? (y/n): ' choice
79
+
80
+ if [ "$choice" = "y" ]
81
+ then
82
+ git add "$conf_file"
83
+ git commit -m "Adding auto-generated CircleCI 2.0 config file"
84
+ git push origin ${test_branch}
85
+ echo -e "Go to https://circleci.com/$vcs_short/$project to see the new build."
86
+ echo -e "If it passes - congratulations, you're good to go. If it's red, please see the README for next steps."
87
+ else
88
+ echo -e "You can manually trigger a build on CircleCI by committing and pushing this branch to the remote."
89
+ exit
90
+ fi
@@ -27,7 +27,7 @@ module Selfies
27
27
 
28
28
  def self.get_value(variable_name, args, index)
29
29
  if variable_name == :args
30
- args[index..-1]
30
+ args[index..]
31
31
  else
32
32
  args[index]
33
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Selfies
4
- VERSION = '1.5.1'
4
+ VERSION = '1.6.0'
5
5
  end
data/selfies.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.name = 'selfies'
10
10
  spec.version = Selfies::VERSION
11
11
  spec.authors = ['Mario D’Arco']
12
- spec.email = ['mario.darco.78@gmail.com']
12
+ spec.email = ['mario.darco.@hey.com']
13
13
 
14
14
  spec.summary = 'A collection of macros for quicker development.'
15
15
  spec.homepage = 'https://github.com/mariodarco/selfies'
@@ -24,9 +24,6 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
26
26
 
27
- spec.add_development_dependency 'pry'
28
- spec.add_development_dependency 'rake'
29
- spec.add_development_dependency 'rspec'
30
- spec.add_development_dependency 'rubocop'
31
- spec.add_development_dependency 'simplecov'
27
+ spec.required_ruby_version = '>= 3.4'
28
+ spec.metadata['rubygems_mfa_required'] = 'true'
32
29
  end
metadata CHANGED
@@ -1,103 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selfies
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario D’Arco
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2019-12-27 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: pry
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- description:
10
+ date: 2025-03-09 00:00:00.000000000 Z
11
+ dependencies: []
84
12
  email:
85
- - mario.darco.78@gmail.com
13
+ - mario.darco.@hey.com
86
14
  executables: []
87
15
  extensions: []
88
16
  extra_rdoc_files: []
89
17
  files:
90
- - ".circleci/config.yml"
91
18
  - ".gitignore"
92
19
  - ".rspec"
93
20
  - ".rubocop.yml"
94
21
  - CODE_OF_CONDUCT.md
95
22
  - Gemfile
23
+ - Gemfile.lock
96
24
  - LICENSE.txt
97
25
  - README.md
98
26
  - Rakefile
99
27
  - bin/console
100
28
  - bin/setup
29
+ - cci-config-generator.sh
101
30
  - lib/kernel.rb
102
31
  - lib/selfies.rb
103
32
  - lib/selfies/self_init.rb
@@ -109,7 +38,7 @@ licenses:
109
38
  - MIT
110
39
  metadata:
111
40
  allowed_push_host: https://rubygems.org
112
- post_install_message:
41
+ rubygems_mfa_required: 'true'
113
42
  rdoc_options: []
114
43
  require_paths:
115
44
  - lib
@@ -117,15 +46,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
46
  requirements:
118
47
  - - ">="
119
48
  - !ruby/object:Gem::Version
120
- version: '0'
49
+ version: '3.4'
121
50
  required_rubygems_version: !ruby/object:Gem::Requirement
122
51
  requirements:
123
52
  - - ">="
124
53
  - !ruby/object:Gem::Version
125
54
  version: '0'
126
55
  requirements: []
127
- rubygems_version: 3.1.2
128
- signing_key:
56
+ rubygems_version: 3.6.2
129
57
  specification_version: 4
130
58
  summary: A collection of macros for quicker development.
131
59
  test_files: []
data/.circleci/config.yml DELETED
@@ -1,46 +0,0 @@
1
- ---
2
- version: 2
3
- jobs:
4
- build:
5
- environment:
6
- CC_TEST_REPORTER_ID: '720c03bcc2eb17a5494a1e4bc18dfd0044b7a9819e0299f271278fd9a3da613f'
7
- working_directory: ~/selfies
8
- docker:
9
- - image: circleci/ruby:2.5.1-node-browsers
10
- steps:
11
- - checkout
12
-
13
- # Restore Cached Dependencies
14
- - type: cache-restore
15
- name: Restore bundle cache
16
- key: selfies-{{ checksum "Gemfile.lock" }}
17
-
18
- # Bundle install dependencies
19
- - run: bundle install --path vendor/bundle
20
-
21
- # Cache Dependencies
22
- - type: cache-save
23
- name: Store bundle cache
24
- key: selfies-{{ checksum "Gemfile.lock" }}
25
- paths:
26
- - vendor/bundle
27
-
28
- - run:
29
- name: Setup Code Climate test-reporter
30
- command: |
31
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
32
- chmod +x ./cc-test-reporter
33
-
34
- # Run the tests
35
- - run:
36
- name: Run tests
37
- command: |
38
- ./cc-test-reporter before-build
39
- bundle exec rspec
40
- ./cc-test-reporter after-build --exit-code $?
41
-
42
- # Enforce better practices
43
- - run: bundle exec rubocop
44
-
45
- - store_test_results:
46
- path: coverage