Exception: ClassyHash::SchemaViolationError
- Inherits:
-
StandardError
- Object
- StandardError
- ClassyHash::SchemaViolationError
- Defined in:
- lib/classy_hash.rb
Overview
Raised when a validation fails. Allows ClassyHash#validate_full to continue validation and gather all errors.
Instance Attribute Summary collapse
-
#entries ⇒ Object
readonly
The list of errors passed to the constructor.
Instance Method Summary collapse
-
#initialize(errors = []) ⇒ SchemaViolationError
constructor
Initializes a schema violation error with the given list of schema
errors
. -
#to_s ⇒ Object
Joins all errors passed to the constructor into a comma-separated String.
Constructor Details
#initialize(errors = []) ⇒ SchemaViolationError
Initializes a schema violation error with the given list of schema errors
.
26 27 28 |
# File 'lib/classy_hash.rb', line 26 def initialize(errors = []) @entries = errors end |
Instance Attribute Details
#entries ⇒ Object (readonly)
The list of errors passed to the constructor. Contains an Array of Hashes:
[
{ full_path: ClassyHash.join_path(parent_path, key), message: "something the full_path was supposed to be" },
...
]
22 23 24 |
# File 'lib/classy_hash.rb', line 22 def entries @entries end |
Instance Method Details
#to_s ⇒ Object
Joins all errors passed to the constructor into a comma-separated String.
31 32 33 34 35 36 37 38 39 |
# File 'lib/classy_hash.rb', line 31 def to_s @msg ||= @entries.map{|e| begin "#{e[:full_path]} is not #{e[:message]}" rescue "ERR: #{e.inspect}" end }.join(', ') end |