broken_record 0.0.2 → 0.0.3
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 +8 -8
- data/.gitignore +1 -0
- data/CHANGELOG.md +5 -1
- data/README.md +3 -0
- data/lib/broken_record/config.rb +2 -1
- data/lib/broken_record/scanner.rb +7 -1
- data/lib/broken_record/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZTEyNmRlZWM4NjUxZjdmNmE3ZWE0NjJlYzNmZDVjZDcyMTJkZGIwMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NmYxZDNlZGI5NzJhZDRkODU1YmFkOTFlZWUyNTU0MGEyZDNmZTg4ZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDAyNDkxNDc2MzEyY2I1MGY3NTQ2MzVkZGI5NmM1ZWViNzE1YTc0OGJkMDkz
|
10
|
+
MjQxMWM3NmNkYjc0ZGYxZmJlN2NjMTZkNWY5MGJkZWVmYzJjY2Y1ODAyODQ4
|
11
|
+
MzkxZjRmZTQ1YjA3YTIxMzlhOTM2NThmNTE3NDllNDlhMDczOGQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MWU0ZWQxZWViZjM5ZWY2YzI4NmRjYWIwZmRiOWM4ZDEzZTE2MmJkYjYyYTc0
|
14
|
+
NjA5NDg5MWJlNzQxN2NjNDc1OTVkMjUyNTM0YTBjZmZjN2MxZTc5ZDM5YjI2
|
15
|
+
OTEyY2NiYzg2MzkyMDRmNjgyYzQzOWUxNDY0YjljNWZmNWNmMWM=
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -34,6 +34,9 @@ BrokenRecord provides a configure method with two options. Here's an example:
|
|
34
34
|
# Skip the Foo and Bar models when scanning.
|
35
35
|
config.classes_to_skip = [Foo, Bar]
|
36
36
|
|
37
|
+
# Set a scope for which models should be validated
|
38
|
+
config.default_scopes = { Foo => proc { with_bars } }
|
39
|
+
|
37
40
|
# BrokenRecord will call the block provided in before_scan before scanning
|
38
41
|
# your records. This is useful for skipping validations you want to ignore.
|
39
42
|
config.before_scan do
|
data/lib/broken_record/config.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
module BrokenRecord
|
2
2
|
module Config
|
3
3
|
extend self
|
4
|
-
attr_accessor :classes_to_skip, :before_scan_callbacks
|
4
|
+
attr_accessor :classes_to_skip, :before_scan_callbacks, :default_scopes
|
5
5
|
self.before_scan_callbacks = []
|
6
|
+
self.default_scopes = {}
|
6
7
|
|
7
8
|
def before_scan(&block)
|
8
9
|
self.before_scan_callbacks << block
|
@@ -50,7 +50,13 @@ module BrokenRecord
|
|
50
50
|
logger.log_message "Validating model #{model}... ".ljust(70)
|
51
51
|
|
52
52
|
begin
|
53
|
-
model
|
53
|
+
if BrokenRecord::Config.default_scopes[model]
|
54
|
+
model_scope = model.instance_exec &BrokenRecord::Config.default_scopes[model]
|
55
|
+
else
|
56
|
+
model_scope = model.unscoped
|
57
|
+
end
|
58
|
+
|
59
|
+
model_scope.find_each do |r|
|
54
60
|
begin
|
55
61
|
if !r.valid?
|
56
62
|
message = " Invalid record in #{model} id=#{r.id}."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: broken_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Gervasi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -107,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
107
|
version: '0'
|
108
108
|
requirements: []
|
109
109
|
rubyforge_project:
|
110
|
-
rubygems_version: 2.
|
110
|
+
rubygems_version: 2.2.2
|
111
111
|
signing_key:
|
112
112
|
specification_version: 4
|
113
113
|
summary: Provides a rake task for scanning your ActiveRecord models and detecting
|