rubocop-rspec-guide 0.2.1 → 0.4.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -6
  3. data/.yardopts +9 -0
  4. data/CHANGELOG.md +92 -0
  5. data/CONTRIBUTING.md +358 -0
  6. data/INTEGRATION_TESTING.md +324 -0
  7. data/README.md +443 -16
  8. data/Rakefile +49 -0
  9. data/benchmark/README.md +349 -0
  10. data/benchmark/baseline_v0.3.1.txt +67 -0
  11. data/benchmark/baseline_v0.4.0.txt +167 -0
  12. data/benchmark/benchmark_helper.rb +92 -0
  13. data/benchmark/compare_versions.rb +136 -0
  14. data/benchmark/cops_benchmark.rb +428 -0
  15. data/benchmark/cops_performance.rb +109 -0
  16. data/benchmark/quick_comparison.rb +58 -0
  17. data/benchmark/quick_invariant_bench.rb +52 -0
  18. data/benchmark/rspec_base_integration.rb +86 -0
  19. data/benchmark/save_baseline.rb +18 -0
  20. data/benchmark/scalability_benchmark.rb +181 -0
  21. data/config/default.yml +43 -2
  22. data/config/obsoletion.yml +6 -0
  23. data/lib/rubocop/cop/factory_bot_guide/dynamic_attribute_evaluation.rb +193 -0
  24. data/lib/rubocop/cop/factory_bot_guide/dynamic_attributes_for_time_and_random.rb +10 -106
  25. data/lib/rubocop/cop/rspec_guide/characteristics_and_contexts.rb +13 -78
  26. data/lib/rubocop/cop/rspec_guide/context_setup.rb +81 -30
  27. data/lib/rubocop/cop/rspec_guide/duplicate_before_hooks.rb +89 -22
  28. data/lib/rubocop/cop/rspec_guide/duplicate_let_values.rb +91 -22
  29. data/lib/rubocop/cop/rspec_guide/happy_path_first.rb +52 -21
  30. data/lib/rubocop/cop/rspec_guide/invariant_examples.rb +60 -19
  31. data/lib/rubocop/cop/rspec_guide/minimum_behavioral_coverage.rb +165 -0
  32. data/lib/rubocop/rspec/guide/inject.rb +26 -0
  33. data/lib/rubocop/rspec/guide/plugin.rb +45 -0
  34. data/lib/rubocop/rspec/guide/version.rb +1 -1
  35. data/lib/rubocop-rspec-guide.rb +4 -0
  36. metadata +49 -1
@@ -4,10 +4,14 @@ require "rubocop"
4
4
  require "rubocop-rspec"
5
5
 
6
6
  require_relative "rubocop/rspec/guide/version"
7
+ require_relative "rubocop/rspec/guide/plugin"
8
+ require_relative "rubocop/rspec/guide/inject"
9
+ require_relative "rubocop/cop/rspec_guide/minimum_behavioral_coverage"
7
10
  require_relative "rubocop/cop/rspec_guide/characteristics_and_contexts"
8
11
  require_relative "rubocop/cop/rspec_guide/duplicate_let_values"
9
12
  require_relative "rubocop/cop/rspec_guide/duplicate_before_hooks"
10
13
  require_relative "rubocop/cop/rspec_guide/invariant_examples"
11
14
  require_relative "rubocop/cop/rspec_guide/happy_path_first"
12
15
  require_relative "rubocop/cop/rspec_guide/context_setup"
16
+ require_relative "rubocop/cop/factory_bot_guide/dynamic_attribute_evaluation"
13
17
  require_relative "rubocop/cop/factory_bot_guide/dynamic_attributes_for_time_and_random"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-rspec-guide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Matskevich
@@ -79,6 +79,34 @@ dependencies:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: '1.24'
82
+ - !ruby/object:Gem::Dependency
83
+ name: benchmark-ips
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: yard
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.9'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.9'
82
110
  description: A collection of custom RuboCop cops that enforce best practices from
83
111
  the RSpec style guide, including context structure, testing patterns, and FactoryBot
84
112
  usage.
@@ -91,14 +119,31 @@ files:
91
119
  - ".rspec"
92
120
  - ".rubocop.yml"
93
121
  - ".standard.yml"
122
+ - ".yardopts"
94
123
  - CHANGELOG.md
124
+ - CONTRIBUTING.md
125
+ - INTEGRATION_TESTING.md
95
126
  - LICENSE.txt
96
127
  - README.md
97
128
  - Rakefile
129
+ - benchmark/README.md
130
+ - benchmark/baseline_v0.3.1.txt
131
+ - benchmark/baseline_v0.4.0.txt
132
+ - benchmark/benchmark_helper.rb
133
+ - benchmark/compare_versions.rb
134
+ - benchmark/cops_benchmark.rb
135
+ - benchmark/cops_performance.rb
136
+ - benchmark/quick_comparison.rb
137
+ - benchmark/quick_invariant_bench.rb
138
+ - benchmark/rspec_base_integration.rb
139
+ - benchmark/save_baseline.rb
140
+ - benchmark/scalability_benchmark.rb
98
141
  - config/default.yml
142
+ - config/obsoletion.yml
99
143
  - devbox.json
100
144
  - devbox.lock
101
145
  - lib/rubocop-rspec-guide.rb
146
+ - lib/rubocop/cop/factory_bot_guide/dynamic_attribute_evaluation.rb
102
147
  - lib/rubocop/cop/factory_bot_guide/dynamic_attributes_for_time_and_random.rb
103
148
  - lib/rubocop/cop/rspec_guide/characteristics_and_contexts.rb
104
149
  - lib/rubocop/cop/rspec_guide/context_setup.rb
@@ -106,7 +151,10 @@ files:
106
151
  - lib/rubocop/cop/rspec_guide/duplicate_let_values.rb
107
152
  - lib/rubocop/cop/rspec_guide/happy_path_first.rb
108
153
  - lib/rubocop/cop/rspec_guide/invariant_examples.rb
154
+ - lib/rubocop/cop/rspec_guide/minimum_behavioral_coverage.rb
109
155
  - lib/rubocop/rspec/guide.rb
156
+ - lib/rubocop/rspec/guide/inject.rb
157
+ - lib/rubocop/rspec/guide/plugin.rb
110
158
  - lib/rubocop/rspec/guide/version.rb
111
159
  - sig/rubocop/rspec/guide.rbs
112
160
  homepage: https://github.com/rspec-guide/rubocop-rspec-guide