Module: Kennel::OptionalValidations
- Included in:
- Models::Record
- Defined in:
- lib/kennel/optional_validations.rb
Defined Under Namespace
Classes: ValidationMessage
Constant Summary
collapse
- UNIGNORABLE =
:unignorable
Class Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
8
9
10
11
|
# File 'lib/kennel/optional_validations.rb', line 8
def self.included(base)
base.settings :ignored_errors
base.defaults(ignored_errors: -> { [] })
end
|
.valid?(parts) ⇒ Boolean
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/kennel/optional_validations.rb', line 13
def self.valid?(parts)
parts_with_errors = parts.reject do |part|
part.filtered_validation_errors.empty?
end
return true if parts_with_errors.empty?
example_tag = nil
Kennel.err.puts
parts_with_errors.sort_by(&:safe_tracking_id).each do |part|
part.filtered_validation_errors.each do |err|
Kennel.err.puts "#{part.safe_tracking_id} [#{err.tag.inspect}] #{err.text.gsub("\n", " ")}"
example_tag = err.tag unless err.tag == :unignorable
end
end
Kennel.err.puts
Kennel.err.puts <<~MESSAGE if example_tag
If a particular error cannot be fixed, it can be marked as ignored via `ignored_errors`, e.g.:
Kennel::Models::Monitor.new(
...,
ignored_errors: [#{example_tag.inspect}]
)
MESSAGE
false
end
|