rspec-all_records_validator 0.0.5 → 0.0.8

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: 41f9d46158920988d4016c828b90fe051714af5e43c5d52fd9ed770d88f4e85b
4
- data.tar.gz: f8d477592deb2de4a76a2dee16aabccd3006107ca857d0f30c659ba8127c43b2
3
+ metadata.gz: 0da551a4d19bd91c56db0df055e0ccce29a7469720af06915275d7f93cdf072c
4
+ data.tar.gz: 471cb24243e463610d6187ba4063b4a75b823a916a2bf132f78191b4912cf2cf
5
5
  SHA512:
6
- metadata.gz: 56d1eefe3274da34398665dc01e2a06396bdcc81127d547604aa977dcc42ddb1d58ac32b2851a6c05dc69390a51e9cd71fcfda6d9035a826cf271e59b1f9d0df
7
- data.tar.gz: de8c9c9af201ba5540bc71e9cad0cdd9bdf46dcafa6cfdda195c426e4492c94214c4990cfdfb6d78d0fef9c9b383dd51da366801380ef208ba821440ea2fb4de
6
+ metadata.gz: 8c632ec00543ce159224cad00385185188557b228a1fa061ecd8dccbbac6ab4d28dbf23a85b894a4bc51be4cc0c80ea1998e2de0bae25f1b2d70b413c2bd18f6
7
+ data.tar.gz: 455bfe9df39819ad1f03083b76e4333d7ea012001750579adedf79828fc6c26607cbb2f3c1db0903bb49023b58a546979b481a5042d290a9a1a88a8b6cc9764c
data/Gemfile CHANGED
@@ -6,5 +6,5 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem 'rake'
9
- gem 'rails'
9
+ gem 'activerecord'
10
10
  gem 'rspec'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-all_records_validator (0.0.5)
4
+ rspec-all_records_validator (0.0.8)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -171,6 +171,7 @@ PLATFORMS
171
171
  x86_64-linux
172
172
 
173
173
  DEPENDENCIES
174
+ activerecord
174
175
  rails
175
176
  rake
176
177
  rspec
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # RSpec::AllRecordsValidator
2
2
 
3
- Check all ActiveRecord object validation after system spec.
3
+ Check all ActiveRecord object validation which has `has_many` association after system spec.
4
4
 
5
5
  This gem is designed for: [rspec-rails](https://github.com/rspec/rspec-rails)
6
6
 
@@ -31,7 +31,7 @@ require 'rspec/all_records_validator'
31
31
 
32
32
  RSpec.configure do |config|
33
33
  config.after type: :system do
34
- RSpec::AllRecordsValidator.validate_all_objects {|record| expect(record).to be_valid }
34
+ RSpec::AllRecordsValidator.validate!
35
35
  end
36
36
  end
37
37
  ```
@@ -43,7 +43,7 @@ You can avoid validation for specific models:
43
43
  ```ruby
44
44
  RSpec.configure do |config|
45
45
  config.after type: :system do
46
- RSpec::AllRecordsValidator.validate_all_objects(ignore_models: [DoNotValidatrThisModel]) {|record| expect(record).to be_valid }
46
+ RSpec::AllRecordsValidator.validate!(ignored_models: [DoNotValidateThisModel])
47
47
  end
48
48
  end
49
49
  ```
@@ -55,7 +55,19 @@ You can config This setting for feature spec
55
55
  ```ruby
56
56
  RSpec.configure do |config|
57
57
  config.after type: :feature do
58
- RSpec::AllRecordsValidator.validate_all_objects {|record| expect(record).to be_valid }
58
+ RSpec::AllRecordsValidator.validate!
59
59
  end
60
60
  end
61
61
  ```
62
+
63
+ ### Pro Tip
64
+
65
+ If you use fixture or master data, ignore them is good for speed.
66
+
67
+ ```ruby
68
+ RSpec::AllRecordsValidator.validate!(ignored_models: [MasterDataModel])
69
+ ```
70
+
71
+ ## Contributing
72
+
73
+ Send me your pull requests.
data/Rakefile CHANGED
@@ -1,3 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task :default => :spec
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module AllRecordsValidator
5
- VERSION = "0.0.5"
5
+ VERSION = "0.0.8"
6
6
  end
7
7
  end
@@ -4,12 +4,12 @@ require_relative "all_records_validator/version"
4
4
 
5
5
  module RSpec
6
6
  module AllRecordsValidator
7
- def self.validate_all_objects(ignore_models: [])
8
- target_classes = ApplicationRecord.subclasses.reject {|klass| klass.abstract_class? || ignore_models.include?(klass) }
7
+ def self.validate!(ignored_models: [])
8
+ target_classes = ApplicationRecord.subclasses.reject {|klass| klass.abstract_class? || ignored_models.include?(klass) || klass.reflect_on_all_associations(:has_many).blank? }
9
9
 
10
10
  target_classes.each do |klass|
11
11
  klass.all.each do |obj|
12
- yield(obj)
12
+ obj.validate!
13
13
  end
14
14
  end
15
15
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = "validate all objects at end of system spec"
12
12
  spec.homepage = "https://github.com/colorbox/rspec-all_records_validator"
13
13
  spec.license = "MIT"
14
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
14
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
15
15
 
16
16
  spec.metadata["homepage_uri"] = spec.homepage
17
17
  spec.metadata["source_code_uri"] = spec.homepage
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-all_records_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - colorbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -89,14 +89,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - ">="
91
91
  - !ruby/object:Gem::Version
92
- version: 2.4.0
92
+ version: 2.7.0
93
93
  required_rubygems_version: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  requirements: []
99
- rubygems_version: 3.3.1
99
+ rubygems_version: 3.2.33
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: validate all objects at end of system spec