metasploit-model 3.1.2 → 4.0.2

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
2
  SHA256:
3
- metadata.gz: 7282653b38429b72974d4f1c6a98c7023aeb85189aa1b929fcc1e1f0751b47b5
4
- data.tar.gz: 07e615389202c882a355b8ac7f8776d45b99e846512d64b8355a3ae8f1e2e9f8
3
+ metadata.gz: c118c000ede3f45f85912d2d16e03d9e978923a26b2f8ddd01bdc35dc33c011c
4
+ data.tar.gz: 322378979ef936415d463a869f47e0d0f50a48e4226d141c482d9a48d2faec0b
5
5
  SHA512:
6
- metadata.gz: 1e6634c258bc4ae1d49200b5786e4962e5ceea839311d1cea2e66dd76a9e5eb96f05800122c74be18fd52b291c7ed23ade8e7637b6cff2890046298bc92f9b96
7
- data.tar.gz: ac18802b7f7a78705f88fbff920c162da5b718394abc0d5e53a167f3d0bfb7e64fb59ddf6594ea39b25ce865ab2b75f26906001e923a8ea6c27c252ad2a3c2c0
6
+ metadata.gz: afc48d681d3317778a3b37ee3a7bad55ff6008cc9203777a861c853e975f5846e43e06521b95b179fcbfaf37b71ed3eaeca1ea988ea861a6fd587805143c4844
7
+ data.tar.gz: 0f288c14e55084e02d7d65249a61c047fca8ec55a07468f4245988c94a4e800722786b3e27544955267549028fd310d32ad1af3ffe10563678e19793799c74e9
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,79 @@
1
+ name: Verify
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '*'
7
+ pull_request:
8
+ branches:
9
+ - '*'
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-16.04
14
+ timeout-minutes: 40
15
+
16
+ services:
17
+ postgres:
18
+ image: postgres:9.6
19
+ ports: [ "5432:5432" ]
20
+ env:
21
+ POSTGRES_USER: postgres
22
+ POSTGRES_PASSWORD: postgres
23
+ options: >-
24
+ --health-cmd pg_isready
25
+ --health-interval 10s
26
+ --health-timeout 5s
27
+ --health-retries 5
28
+
29
+ strategy:
30
+ fail-fast: true
31
+ matrix:
32
+ ruby:
33
+ - 2.5
34
+ - 2.6
35
+ - 2.7
36
+ - 3.0
37
+
38
+ env:
39
+ RAILS_ENV: test
40
+
41
+ name: Ruby ${{ matrix.ruby }}
42
+ steps:
43
+ - name: Install system dependencies
44
+ run: sudo apt-get install graphviz
45
+
46
+ - name: Checkout code
47
+ uses: actions/checkout@v2
48
+
49
+ - uses: actions/setup-ruby@v1
50
+ with:
51
+ ruby-version: ${{ matrix.ruby }}
52
+
53
+ - name: Setup bundler
54
+ run: |
55
+ gem install bundler
56
+
57
+ - name: Bundle install
58
+ run: |
59
+ bundle config path vendor/bundle
60
+ bundle install --jobs 4 --retry 3
61
+
62
+ - name: Test
63
+ run: |
64
+ gem install bundler
65
+ cp spec/dummy/config/database.yml.github_actions spec/dummy/config/database.yml
66
+ bundle install
67
+ bundle exec rake --version
68
+ bundle exec rake db:test:prepare
69
+
70
+ bundle exec rake spec
71
+ bundle exec rake yard
72
+
73
+ - name: Upload coverage report
74
+ uses: actions/upload-artifact@v2
75
+ with:
76
+ name: coverage-${{ matrix.ruby }}
77
+ path: |
78
+ coverage/
79
+ retention-days: 1
data/Gemfile CHANGED
@@ -18,8 +18,6 @@ group :test do
18
18
 
19
19
  # Dummy app uses actionpack for ActionController, but not rails since it doesn't use activerecord.
20
20
  gem 'actionpack'
21
- # Uploads simplecov reports to coveralls.io
22
- gem 'coveralls', require: false
23
21
  # Engine tasks are loaded using railtie
24
22
  gem 'railties'
25
23
  gem 'rspec-rails'
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Metasploit::Model [![Build Status](https://travis-ci.org/rapid7/metasploit-model.png)](https://travis-ci.org/rapid7/metasploit-model)[![Code Climate](https://codeclimate.com/github/rapid7/metasploit-model.png)](https://codeclimate.com/github/rapid7/metasploit-model)[![Coverage Status](https://coveralls.io/repos/rapid7/metasploit-model/badge.png?branch=feature%2Fexploit)](https://coveralls.io/r/rapid7/metasploit-model)[![Dependency Status](https://gemnasium.com/rapid7/metasploit-model.svg)](https://gemnasium.com/rapid7/metasploit-model)[![Gem Version](https://badge.fury.io/rb/metasploit-model.svg)](http://badge.fury.io/rb/metasploit-model)[![Inline docs](http://inch-ci.org/github/rapid7/metasploit-model.svg?branch=master)](http://inch-ci.org/github/rapid7/metasploit-model)[![PullReview stats](https://www.pullreview.com/github/rapid7/metasploit-model/badges/master.svg)](https://www.pullreview.com/github/rapid7/metasploit-model/reviews/master)
1
+ # Metasploit::Model [![Build Status](https://github.com/rapid7/metasploit-model/actions/workflows/verify.yml/badge.svg)](https://github.com/rapid7/metasploit-model/actions/workflows/verify.yml)[![Code Climate](https://codeclimate.com/github/rapid7/metasploit-model.png)](https://codeclimate.com/github/rapid7/metasploit-model)[![Dependency Status](https://gemnasium.com/rapid7/metasploit-model.svg)](https://gemnasium.com/rapid7/metasploit-model)[![Gem Version](https://badge.fury.io/rb/metasploit-model.svg)](http://badge.fury.io/rb/metasploit-model)[![Inline docs](http://inch-ci.org/github/rapid7/metasploit-model.svg?branch=master)](http://inch-ci.org/github/rapid7/metasploit-model)[![PullReview stats](https://www.pullreview.com/github/rapid7/metasploit-model/badges/master.svg)](https://www.pullreview.com/github/rapid7/metasploit-model/reviews/master)
2
2
 
3
3
  ## Versioning
4
4
 
@@ -41,5 +41,6 @@ if RUBY_PLATFORM =~ /java/ && Gem::Version.new(JRUBY_VERSION) < Gem::Version.new
41
41
  end
42
42
  end
43
43
  else
44
+ # Alias for ::File when not in jruby.
44
45
  Metasploit::Model::File = ::File
45
46
  end
@@ -72,6 +72,6 @@ module Metasploit::Model::Search::Operator::Help
72
72
  name: name
73
73
  }
74
74
 
75
- ::I18n.translate(key, options)
75
+ ::I18n.translate(key, **options)
76
76
  end
77
77
  end
@@ -1,7 +1,7 @@
1
1
  module Metasploit
2
2
  module Model
3
3
  # VERSION is managed by GemRelease
4
- VERSION = '3.1.2'
4
+ VERSION = '4.0.2'
5
5
 
6
6
  # @return [String]
7
7
  #
@@ -17,22 +17,20 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = %w{app/models app/validators lib}
19
19
 
20
- spec.required_ruby_version = '>= 2.2.0'
20
+ spec.required_ruby_version = '>= 2.4.0'
21
21
 
22
22
  spec.add_development_dependency 'metasploit-yard'
23
23
  spec.add_development_dependency 'metasploit-erd'
24
24
  spec.add_development_dependency 'rake'
25
-
26
- # documentation
27
- # 0.8.7.4 has a bug where attribute setters show up as undocumented
28
- spec.add_development_dependency 'yard', '< 0.8.7.4'
25
+ spec.add_development_dependency 'yard'
26
+ spec.add_development_dependency 'e2mmap'
29
27
 
30
28
  # Dependency loading
31
29
 
32
- spec.add_runtime_dependency 'activemodel', '~> 5.2.2'
33
- spec.add_runtime_dependency 'activesupport', '~> 5.2.2'
30
+ spec.add_runtime_dependency 'activemodel', '~> 6.0'
31
+ spec.add_runtime_dependency 'activesupport', '~> 6.0'
34
32
 
35
- spec.add_runtime_dependency 'railties', '~> 5.2.2'
33
+ spec.add_runtime_dependency 'railties', '~> 6.0'
36
34
 
37
35
  if RUBY_PLATFORM =~ /java/
38
36
  # markdown formatting for yard
@@ -1,17 +1,16 @@
1
- # @note This file is only for use in travis-ci. If you need to make a `spec/dummy/config/database.yml` for running
1
+ # @note This file is only for use in github actions. If you need to make a `spec/dummy/config/database.yml` for running
2
2
  # rake, rake spec, or rspec locally, please customize `spec/dummy/config/database.yml.example`.
3
3
  #
4
4
  # @example Customizing config/database.yml.example
5
5
  # cp spec/dummy/config/database.yml.example spec/dummy/config/database.yml
6
6
  # # update password fields for each environment's user
7
7
 
8
- # Using the postgres user locally without a host and port is the supported configuration from Travis-CI
9
- #
10
- # @see http://about.travis-ci.org/docs/user/database-setup/#PostgreSQL
11
8
  development: &pgsql
12
9
  adapter: postgresql
13
10
  database: metasploit_model_development
11
+ host: localhost
14
12
  username: postgres
13
+ password: postgres
15
14
  pool: 5
16
15
  timeout: 5
17
16
 
@@ -19,4 +18,4 @@ development: &pgsql
19
18
  # `rake`. Do not set this db to the same as development or production.
20
19
  test:
21
20
  <<: *pgsql
22
- database: metasploit_model_test
21
+ database: metasploit_model_test
@@ -2,11 +2,11 @@
2
2
  # of editing this file, please use the migrations feature of Active Record to
3
3
  # incrementally modify your database, and then regenerate this schema definition.
4
4
  #
5
- # Note that this schema.rb definition is the authoritative source for your
6
- # database schema. If you need to create the application database on another
7
- # system, you should be using db:schema:load, not running all the migrations
8
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
- # you'll amass, the slower it'll run and the greater likelihood for issues).
5
+ # This file is the source Rails uses to define your schema when running `bin/rails
6
+ # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
7
+ # be faster and is potentially less error prone than running all of your
8
+ # migrations from scratch. Old migrations may fail to apply correctly if those
9
+ # migrations use external dependencies or application code.
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
data/spec/spec_helper.rb CHANGED
@@ -8,9 +8,8 @@ Bundler.setup(:default, :test)
8
8
  # Require simplecov before loading ..dummy/config/environment.rb because it will cause metasploit_data_models/lib to
9
9
  # be loaded, which would result in Coverage not recording hits for any of the files.
10
10
  require 'simplecov'
11
- require 'coveralls'
12
11
 
13
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
12
+ SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
14
13
 
15
14
  require File.expand_path('../dummy/config/environment.rb', __FILE__)
16
15
  require 'rspec/rails'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metasploit-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 4.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
@@ -64,20 +64,20 @@ cert_chain:
64
64
  -----END CERTIFICATE-----
65
65
  - |
66
66
  -----BEGIN CERTIFICATE-----
67
- MIIFIzCCBAugAwIBAgIQDX9ZkVJ2eNVTlibR5ALyJTANBgkqhkiG9w0BAQsFADBy
67
+ MIIFIzCCBAugAwIBAgIQCMePMbkSxvnPeJhYXIfaxzANBgkqhkiG9w0BAQsFADBy
68
68
  MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
69
69
  d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
70
- SUQgQ29kZSBTaWduaW5nIENBMB4XDTE5MTAxNjAwMDAwMFoXDTIwMTAxOTEyMDAw
70
+ SUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMTAwNzAwMDAwMFoXDTIzMTEwNjEyMDAw
71
71
  MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
72
72
  BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
73
- IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHnKegPAghKuZk4
74
- Gy1jKaZEXbWc4fxioTemv/F1yIYzAjCWP65qjKtyeeFDe4/kJzG9nseF9oa93YBf
75
- 1nyEqxNSZMw/sCAZ87lOl713dRi73uxOoszy2PT5xEB+Q5R6cbzExkWG2zrLdXDr
76
- so0Bd6VHw+IsAoBBkAq5FrZOJQYGn5VY20xw/2DqtCeoW4QDWyqTnbJmwO9tZrfr
77
- 3Le2crfk2eOgafaPNhLon5uuIKCZsk2YkUSNURSS3M7gosMwU9Gg4JTBi7X5+oww
78
- rY43dJT28YklxmNVu8o5kJxW4dqLKJLOIgSXZ63nceT/EaCSg7DcofHNcUzejFwb
79
- M7Zbb2kCAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
80
- dQ5YMB0GA1UdDgQWBBR18CAeMsIEU+0pXal/XXw9LCtMADAOBgNVHQ8BAf8EBAMC
73
+ IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNTz4zvAy7h/vQp
74
+ 4dr1txXHlABAagkwYYwTMCtHs5PXsJITx/5SAjx5swuaLfze5kPBNF2YImvFlOXY
75
+ WaB+0PsOnXnaARsDZU683xFlj8izU6IN6VrAHzDLKFBzruJENrOJD/ikbEtbjO/q
76
+ gFbmS9J9v5ohG/pcRSS0t4ZPAwymf8eCp6QsvOKK/Aymp1RhlRaP8N6N5CIpkhz1
77
+ 9p968iCE+DjOXVYxcWE+jE/7uB1dbgrXykNBujMSS3GULOvVEY28n6NCmrPlo23g
78
+ yRjYVJ2Vy14nBqnxDZ/yRIfWRVjWoT9TsAEbe9gY29oDpSCSs4wSmLQd5zGCpZ9h
79
+ r0HDFB8CAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
80
+ dQ5YMB0GA1UdDgQWBBTLBL7DTwumVEKtdCdpHVYMXOFeDzAOBgNVHQ8BAf8EBAMC
81
81
  B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
82
82
  L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
83
83
  L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
@@ -86,14 +86,14 @@ cert_chain:
86
86
  JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
87
87
  AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
88
88
  ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
89
- BQADggEBAFpzR9s7lcYKDzSJucOHztEPj+iSIeCzxEw34NTE9M2AfkYIu82c4r2a
90
- bzIGmzZWiCGufjOp0gF5xW6sSSJ9n0TqH0nhHhvjtZQkmkGtOBbN1zeYDFS2ozAp
91
- sljF/g68Y1eYs3NaFf7kQUa6vb6RdjW3J8M9AQ8gthBt7gr/guVxd/gJUYbdDdBX
92
- cWfJJi/X7GVBOBmmvA43qoKideuhOBrVGBHvIF/yO9p23dIiUrGmW9kxXCSxgute
93
- JI/W23RbIRksG2pioMhd4dCXq3FLLlkOV1YfCwWixNB+iIhQPPZVaPNfgPhCn4Dt
94
- DeGjje/qA4fkLtRmOtb9PUBq3ToRDE4=
89
+ BQADggEBAN+GL5/myPWg7oH4mVrG7/OhXF1MoYQF0ddaNiqaweEHMuKJBQCVZRbL
90
+ 37HojoKXXv2yyRJBCeTB+ojrxX+5PdLVZa0ss7toWzJ2A1poPXZ1eZvm5xeFD32z
91
+ YQaTmmNWNI3PCDTyJ2PXUc+bDiNNwcZ7yc5o78UNRvp9Jxghya17Q76c9Ov9wvnv
92
+ dxxQKWGOQy0m4fBrkyjAyH9Djjn81RbQrqYgPuhd5nD0HjN3VUQLhQbIJrk9TVs0
93
+ EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
94
+ 9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
95
95
  -----END CERTIFICATE-----
96
- date: 2020-10-05 00:00:00.000000000 Z
96
+ date: 2021-05-05 00:00:00.000000000 Z
97
97
  dependencies:
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: metasploit-yard
@@ -141,58 +141,72 @@ dependencies:
141
141
  name: yard
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - "<"
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
- version: 0.8.7.4
146
+ version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - "<"
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: e2mmap
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
152
159
  - !ruby/object:Gem::Version
153
- version: 0.8.7.4
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
154
168
  - !ruby/object:Gem::Dependency
155
169
  name: activemodel
156
170
  requirement: !ruby/object:Gem::Requirement
157
171
  requirements:
158
172
  - - "~>"
159
173
  - !ruby/object:Gem::Version
160
- version: 5.2.2
174
+ version: '6.0'
161
175
  type: :runtime
162
176
  prerelease: false
163
177
  version_requirements: !ruby/object:Gem::Requirement
164
178
  requirements:
165
179
  - - "~>"
166
180
  - !ruby/object:Gem::Version
167
- version: 5.2.2
181
+ version: '6.0'
168
182
  - !ruby/object:Gem::Dependency
169
183
  name: activesupport
170
184
  requirement: !ruby/object:Gem::Requirement
171
185
  requirements:
172
186
  - - "~>"
173
187
  - !ruby/object:Gem::Version
174
- version: 5.2.2
188
+ version: '6.0'
175
189
  type: :runtime
176
190
  prerelease: false
177
191
  version_requirements: !ruby/object:Gem::Requirement
178
192
  requirements:
179
193
  - - "~>"
180
194
  - !ruby/object:Gem::Version
181
- version: 5.2.2
195
+ version: '6.0'
182
196
  - !ruby/object:Gem::Dependency
183
197
  name: railties
184
198
  requirement: !ruby/object:Gem::Requirement
185
199
  requirements:
186
200
  - - "~>"
187
201
  - !ruby/object:Gem::Version
188
- version: 5.2.2
202
+ version: '6.0'
189
203
  type: :runtime
190
204
  prerelease: false
191
205
  version_requirements: !ruby/object:Gem::Requirement
192
206
  requirements:
193
207
  - - "~>"
194
208
  - !ruby/object:Gem::Version
195
- version: 5.2.2
209
+ version: '6.0'
196
210
  - !ruby/object:Gem::Dependency
197
211
  name: redcarpet
198
212
  requirement: !ruby/object:Gem::Requirement
@@ -215,11 +229,10 @@ executables: []
215
229
  extensions: []
216
230
  extra_rdoc_files: []
217
231
  files:
218
- - ".coveralls.yml"
232
+ - ".github/workflows/verify.yml"
219
233
  - ".gitignore"
220
234
  - ".rspec"
221
235
  - ".simplecov"
222
- - ".travis.yml"
223
236
  - ".yardopts"
224
237
  - CHANGELOG.md
225
238
  - CONTRIBUTING.md
@@ -357,7 +370,7 @@ files:
357
370
  - spec/dummy/config/application.rb
358
371
  - spec/dummy/config/boot.rb
359
372
  - spec/dummy/config/database.yml.example
360
- - spec/dummy/config/database.yml.travis
373
+ - spec/dummy/config/database.yml.github_actions
361
374
  - spec/dummy/config/environment.rb
362
375
  - spec/dummy/config/environments/development.rb
363
376
  - spec/dummy/config/environments/production.rb
@@ -436,7 +449,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
436
449
  requirements:
437
450
  - - ">="
438
451
  - !ruby/object:Gem::Version
439
- version: 2.2.0
452
+ version: 2.4.0
440
453
  required_rubygems_version: !ruby/object:Gem::Requirement
441
454
  requirements:
442
455
  - - ">="
@@ -497,7 +510,7 @@ test_files:
497
510
  - spec/dummy/config/application.rb
498
511
  - spec/dummy/config/boot.rb
499
512
  - spec/dummy/config/database.yml.example
500
- - spec/dummy/config/database.yml.travis
513
+ - spec/dummy/config/database.yml.github_actions
501
514
  - spec/dummy/config/environment.rb
502
515
  - spec/dummy/config/environments/development.rb
503
516
  - spec/dummy/config/environments/production.rb
metadata.gz.sig CHANGED
Binary file
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: travis-ci
data/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- dist: trusty
2
- group: stable
3
- sudo: false
4
- cache: bundler
5
- language: ruby
6
- addons:
7
- postgresql: '9.6'
8
- apt:
9
- packages:
10
- - graphviz
11
- rvm:
12
- - 2.6.5
13
- before_install:
14
- - gem install bundler
15
- - cp spec/dummy/config/database.yml.travis spec/dummy/config/database.yml
16
- - bundle install
17
- - bundle exec rake --version
18
- - bundle exec rake db:test:prepare
19
- script:
20
- - bundle exec rake spec
21
- - bundle exec rake yard