rspec_starter 2.0.1 → 3.0.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: 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.