rspec-all_records_validator 0.0.7 → 0.1.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: d16ea3c38340ae368b34b2321cf50870e4e100f2318e88cdf90a1c89e6ba4da5
4
- data.tar.gz: 1cc759676965a038d125943d74a126259d042e87eddd839ccbdbc14890712fef
3
+ metadata.gz: e2f7cae056e1f823338f2c399fceae7db6c44333c9643795ba058867540c00ad
4
+ data.tar.gz: 97e990301f8b232199b5cc813a094954b28b21c574f6a4af57e14d36b978b852
5
5
  SHA512:
6
- metadata.gz: 7f3375093bef4b4c81fa17061088024c5d0136f68a2ebd16467d815778b0b74ca58ea88684413efb40abc16a08575e33d4d95df2adcf7c3169da74cbb02ab0d7
7
- data.tar.gz: cc2a0733af9a01db933afb5e1caba1bc6bd494c0556fc4add197ce75db44660b7070650ee233382e3309c74e6db48db123a150344eee3873c40a7dd805cbf8d4
6
+ metadata.gz: ba6811d02f7082ef00421f6a134d5c1626dd73d9294278adf6a16e7448875f912a49ad9d3193214b2f55804c427cdee7cc0a55143d01f8bd067309ff642aa9e1
7
+ data.tar.gz: 4c62c235304c8d08ae8ad538dbdb43e17fcbb6919ca9bd16806e02d3f9da3dcd366077b8dae8313a0e915f229ee738798297037fcb1b15c153b3ee744a8d6b7a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-all_records_validator (0.0.7)
4
+ rspec-all_records_validator (0.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -168,6 +168,7 @@ GEM
168
168
 
169
169
  PLATFORMS
170
170
  x86_64-darwin-18
171
+ x86_64-darwin-19
171
172
  x86_64-linux
172
173
 
173
174
  DEPENDENCIES
data/README.md CHANGED
@@ -48,6 +48,17 @@ RSpec.configure do |config|
48
48
  end
49
49
  ```
50
50
 
51
+ #### Avoid validation for model whitch has no `has_many` association
52
+
53
+ ```ruby
54
+ RSpec.configure do |config|
55
+ config.after type: :system do
56
+ RSpec::AllRecordsValidator.validate!(only_has_many: true)
57
+ end
58
+ end
59
+ ```
60
+
61
+
51
62
  #### For feature spec
52
63
 
53
64
  You can config This setting for feature spec
@@ -59,3 +70,15 @@ RSpec.configure do |config|
59
70
  end
60
71
  end
61
72
  ```
73
+
74
+ ### Pro Tip
75
+
76
+ If you use fixture or master data, ignore them is good for speed.
77
+
78
+ ```ruby
79
+ RSpec::AllRecordsValidator.validate!(ignored_models: [MasterDataModel])
80
+ ```
81
+
82
+ ## Contributing
83
+
84
+ Send me your pull requests.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module AllRecordsValidator
5
- VERSION = "0.0.7"
5
+ VERSION = "0.1.0"
6
6
  end
7
7
  end
@@ -4,11 +4,11 @@ require_relative "all_records_validator/version"
4
4
 
5
5
  module RSpec
6
6
  module AllRecordsValidator
7
- def self.validate!(ignored_models: [])
8
- target_classes = ApplicationRecord.subclasses.reject {|klass| klass.abstract_class? || ignored_models.include?(klass) }
7
+ def self.validate!(ignored_models: [], only_has_many: false)
8
+ target_classes = ApplicationRecord.subclasses.reject {|klass| klass.abstract_class? || ignored_models.include?(klass) || (only_has_many && klass.reflect_on_all_associations(:has_many).blank?) }
9
9
 
10
10
  target_classes.each do |klass|
11
- klass.all.each do |obj|
11
+ klass.all.find_each do |obj|
12
12
  obj.validate!
13
13
  end
14
14
  end
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.7
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - colorbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-13 00:00:00.000000000 Z
11
+ date: 2022-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  requirements: []
99
- rubygems_version: 3.3.1
99
+ rubygems_version: 3.3.4
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: validate all objects at end of system spec