rspec_starter 2.0.1 → 3.0.0

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: 2b8236d837b821443e63c37f6f7e8426cb1ecb988e6c43f6b83f713aa6e2da3e
4
- data.tar.gz: 071ed0b8b8abb77a06784b00c3ca297b17792e6da563315a9cf15bab3150766b
3
+ metadata.gz: 52bd99dd54801371da5a1c49bf6df75cb8a2a291c9febd7cdbb1891747449197
4
+ data.tar.gz: f5a254fca78c6e341998e4f6b7e16f44d22a969a840e5886f808dac6386eedda
5
5
  SHA512:
6
- metadata.gz: 150f1f5dc2f5f893cb96944473d79768bb6d0fc52c1c990b9dc5d67d5c8897d4d2a3559572a02bcd2d53926ad8c9667da640366f7ac72abef1c54add8c420693
7
- data.tar.gz: f06d080329a5c7fcdcae61936d4b401e15283485d5db379c76aae1bbe672b7b035402a92bd8b2dded774bb68c2c71dd09b2a7de198b25a86e9e5813beac30bbd
6
+ metadata.gz: eb8d51b98ac53ebc1e2feb83050f2b21c85d93464fe9235a936f5b50a6c4038e65ffe4ec7bb32c81984c3d1cbc0152ebd4dd223f09afe71901aad3f0b0114522
7
+ data.tar.gz: caa4321bc5337bab6233136d6be548e68ac87ab9e640d91aaf87cbf0395bfa16ffc9210fdbc9c8522d80385530047a27caab4347ff5f35cbbbdd80412d11956b
@@ -0,0 +1,4 @@
1
+ <!-- Replace XYZ with a GitHub issue number. -->
2
+ <!-- A pull request should address a single issue. -->
3
+
4
+ Closes #XYZ
@@ -13,7 +13,7 @@ jobs:
13
13
  runs-on: ubuntu-latest
14
14
  strategy:
15
15
  matrix:
16
- ruby-version: ['2.6', '2.7', '3.0']
16
+ ruby-version: ['3.1', '3.2', '3.3']
17
17
  steps:
18
18
  - uses: actions/checkout@v2
19
19
  - name: Set up Ruby
@@ -30,7 +30,7 @@ jobs:
30
30
  runs-on: ubuntu-latest
31
31
  strategy:
32
32
  matrix:
33
- ruby-version: ['2.6']
33
+ ruby-version: ['3.1']
34
34
  steps:
35
35
  - uses: actions/checkout@v2
36
36
  - name: Set up Ruby
data/.rubocop.yml CHANGED
@@ -12,3 +12,9 @@ inherit_gem:
12
12
 
13
13
  Rails:
14
14
  Enabled: false
15
+
16
+ Style/NumericPredicate:
17
+ EnforcedStyle: comparison
18
+
19
+ Naming/BlockForwarding:
20
+ EnforcedStyle: explicit
data/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  Issues are tracked at https://github.com/roberts1000/rspec_starter/issues. Issues marked as **(Internal)** only affect development.
4
4
 
5
+ ## 3.0.0 (Mar 08, 2024)
6
+
7
+ 1. [#153](../../issues/153): Make `:rebuild_rails_app_database` task use `db:schema:load`.
8
+
9
+ ## 2.1.0 (Jan 28, 2024)
10
+
11
+ 1. [#132](../../issues/132): Use `colorize ~> 1.1.0`.
12
+ 1. [#134](../../issues/134): Set minimum supported Ruby to 3.1.0.
13
+ 1. [#136](../../issues/136): Switch from `pry` to `debug`.
14
+ 1. [#138](../../issues/138): Fix RuboCop issues. **(Internal)**
15
+ 1. [#140](../../issues/140): Add Ruby 3.1 support.
16
+ 1. [#142](../../issues/142): Add a PR template. **(Internal)**
17
+ 1. [#144](../../issues/144): Add Ruby 3.2 support.
18
+ 1. [#146](../../issues/146): Add Ruby 3.3 support.
19
+
5
20
  ## 2.0.1 (Sep 11, 2021)
6
21
 
7
22
  1. [#128](../../issues/128): Fix `undefined method` error when running `rspec_starter` executable.
data/Gemfile CHANGED
@@ -4,5 +4,9 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
+ gem 'bundler', '~> 2.0'
8
+ gem 'debug', '~> 1.9.1'
9
+ gem 'rake', '~> 13.0'
10
+ gem 'rspec', '~> 3.0'
7
11
  gem 'rubocop_plus', '~> 2.0', require: false
8
12
  end
data/README.md CHANGED
@@ -15,7 +15,7 @@ Releases are versioned using [SemVer 2.0.0](https://semver.org/spec/v2.0.0.html)
15
15
 
16
16
  ## Supported Ruby Versions
17
17
 
18
- 2.6.0+
18
+ 3.1.0+
19
19
 
20
20
  ## Installation
21
21
 
@@ -82,7 +82,7 @@ Any options that you add to steps inside the block, become available to the task
82
82
  RspecStarter.start do
83
83
  task :verify_display_servr, foo: :bar
84
84
  task :remove_tmp_folder
85
- task :rebuild_rails_app_database, command: "rake db:drop db:create db:migrate", quiet: false
85
+ task :rebuild_rails_app_database, command: "RAILS_ENV=test rake db:drop db:create db:schema:load", quiet: false
86
86
  task :start_rspec, quiet: true
87
87
  end
88
88
  ```
data/Rakefile CHANGED
@@ -7,6 +7,5 @@ task :default => :spec
7
7
 
8
8
  desc "Start a Pry console with rspec_starter loaded (run bin/console to start an IRB console)"
9
9
  task :console do
10
- exec "pry -r rspec_starter -I ./lib"
11
- # exec "irb -r didit_rails_framework -I ./lib"
10
+ exec "irb -r rspec_starter -I ./lib"
12
11
  end
data/bin/console CHANGED
@@ -6,7 +6,5 @@ require "rspec_starter"
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
- # Run 'rake console' to start a pry console.
10
-
11
9
  require "irb"
12
10
  IRB.start
data/exe/rspec_starter CHANGED
@@ -66,6 +66,7 @@ command = Cri::Command.define do
66
66
  end
67
67
 
68
68
  run do |opts, args, cmd|
69
+ # Customize here
69
70
  end
70
71
  end
71
72
  # rubocop:enable Metrics/BlockLength
@@ -16,7 +16,7 @@ module RspecStarter
16
16
  end
17
17
 
18
18
  def name=(value)
19
- @name = value.nil? ? nil : value.to_s
19
+ @name = value&.to_s
20
20
  end
21
21
 
22
22
  # Remove leading hyphens
@@ -42,14 +42,14 @@ module RspecStarter
42
42
 
43
43
  def all_task_options
44
44
  hash = {}
45
- @registered_task_options.each do |_task_class, options|
45
+ @registered_task_options.each_value do |options|
46
46
  options.each do |option|
47
47
  hash[option.switch] = option unless hash.has_key?(option.switch)
48
48
  end
49
49
  end
50
50
 
51
51
  list = []
52
- hash.each { |_switch, option| list << option }
52
+ hash.each_value { |option| list << option }
53
53
  list
54
54
  end
55
55
 
@@ -63,7 +63,7 @@ module RspecStarter
63
63
 
64
64
  def all_task_switches
65
65
  list = Set.new
66
- @registered_task_options.each do |_task_class, options|
66
+ @registered_task_options.each_value do |options|
67
67
  options.each { |option| list << option.switch unless option.switch.nil? }
68
68
  end
69
69
  list.to_a
@@ -22,7 +22,7 @@ module RspecStarter
22
22
  @steps.inject(0) do |max, step|
23
23
  # If a step doesn't execute, it's exit_status will be nil.
24
24
  current = step.exit_status || 0
25
- max > current ? max : current
25
+ [max, current].max
26
26
  end
27
27
  end
28
28
  end
@@ -6,7 +6,7 @@
6
6
  class RspecStarterStep
7
7
  attr_accessor :id, :exit_status, :name, :quiet, :options, :run_time, :runner, :successful
8
8
 
9
- alias_method :successful?, :successful
9
+ alias successful? successful
10
10
 
11
11
  def initialize(id, runner, options)
12
12
  @id = id
@@ -5,14 +5,14 @@ module RspecStarter
5
5
  # methods when needed.
6
6
  class StepOptions
7
7
  def add(key, value)
8
- instance_variable_set("@#{key}", value)
8
+ instance_variable_set(:"@#{key}", value)
9
9
  self.class.define_method(key.to_s) do
10
- instance_variable_get("@#{key}")
10
+ instance_variable_get(:"@#{key}")
11
11
  end
12
12
  end
13
13
 
14
14
  def update(key, value, add_missing: true)
15
- return instance_variable_set("@#{key}", value) if respond_to?(key)
15
+ return instance_variable_set(:"@#{key}", value) if respond_to?(key)
16
16
 
17
17
  add(key, value) if add_missing
18
18
  end
@@ -9,7 +9,7 @@ class RebuildRailsAppDatabase < RspecStarterTask
9
9
  register_option default: false, switch: '--skip-db-prep',
10
10
  switch_description: "DO NOT prepare the Rails application database"
11
11
  register_option name: "command",
12
- default: "DISABLE_DATABASE_ENVIRONMENT_CHECK=1 RAILS_ENV=test rake db:drop db:create db:migrate",
12
+ default: "DISABLE_DATABASE_ENVIRONMENT_CHECK=1 RAILS_ENV=test rake db:drop db:create db:schema:load",
13
13
  description: "A command string that is used to rebuild the database."
14
14
  end
15
15
 
@@ -1,3 +1,3 @@
1
1
  module RspecStarter
2
- VERSION = "2.0.1".freeze
2
+ VERSION = "3.0.0".freeze
3
3
  end
data/lib/rspec_starter.rb CHANGED
@@ -31,16 +31,6 @@ require 'rspec_starter/tasks/remove_tmp_folder'
31
31
  require 'rspec_starter/tasks/start_rspec'
32
32
  require 'rspec_starter/tasks/verify_display_server'
33
33
 
34
- # Setup pry for development when running "rake console". Guard against load
35
- # errors in production (since pry is only loaded as a DEVELOPMENT dependency
36
- # in the .gemspec)
37
- # rubocop:disable Lint/SuppressedException
38
- begin
39
- require "pry"
40
- rescue LoadError
41
- end
42
- # rubocop:enable Lint/SuppressedException
43
-
44
34
  # The main entry point for the RspecStarter gem. The 'bin/start_rspec' file contains a block of code like this:
45
35
  #
46
36
  # RspecStarter.start do
@@ -19,15 +19,10 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.required_ruby_version = '>= 2.6.0'
23
-
24
- spec.add_development_dependency "bundler", "~> 2.0"
25
- spec.add_development_dependency "pry-byebug", "~> 3.9.0"
26
- spec.add_development_dependency "rake", "~> 13.0"
27
- spec.add_development_dependency "rspec", "~> 3.0"
22
+ spec.required_ruby_version = '>= 3.1.0'
28
23
 
29
24
  spec.add_dependency "activesupport", ">= 5.2.2"
30
- spec.add_dependency "colorize", "~> 0.8.1"
25
+ spec.add_dependency "colorize", "~> 1.1.0"
31
26
  spec.add_dependency "cri", "~> 2.0"
32
27
  spec.add_dependency "os", "~> 1.1.0"
33
28
  end
metadata CHANGED
@@ -1,71 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_starter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - roberts1000
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-11 00:00:00.000000000 Z
11
+ date: 2024-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.0'
27
- - !ruby/object:Gem::Dependency
28
- name: pry-byebug
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 3.9.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 3.9.0
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '13.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '13.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.0'
69
13
  - !ruby/object:Gem::Dependency
70
14
  name: activesupport
71
15
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +30,14 @@ dependencies:
86
30
  requirements:
87
31
  - - "~>"
88
32
  - !ruby/object:Gem::Version
89
- version: 0.8.1
33
+ version: 1.1.0
90
34
  type: :runtime
91
35
  prerelease: false
92
36
  version_requirements: !ruby/object:Gem::Requirement
93
37
  requirements:
94
38
  - - "~>"
95
39
  - !ruby/object:Gem::Version
96
- version: 0.8.1
40
+ version: 1.1.0
97
41
  - !ruby/object:Gem::Dependency
98
42
  name: cri
99
43
  requirement: !ruby/object:Gem::Requirement
@@ -130,6 +74,7 @@ executables:
130
74
  extensions: []
131
75
  extra_rdoc_files: []
132
76
  files:
77
+ - ".github/pull_request_template.md"
133
78
  - ".github/workflows/check_pull_request.yml"
134
79
  - ".gitignore"
135
80
  - ".rspec"
@@ -180,14 +125,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
125
  requirements:
181
126
  - - ">="
182
127
  - !ruby/object:Gem::Version
183
- version: 2.6.0
128
+ version: 3.1.0
184
129
  required_rubygems_version: !ruby/object:Gem::Requirement
185
130
  requirements:
186
131
  - - ">="
187
132
  - !ruby/object:Gem::Version
188
133
  version: '0'
189
134
  requirements: []
190
- rubygems_version: 3.2.26
135
+ rubygems_version: 3.5.6
191
136
  signing_key:
192
137
  specification_version: 4
193
138
  summary: A Ruby gem that helps run RSpec in a standard manner.