Sha256: ea4aca2a20f45cd1bdd2834e1e0259f9ae7c5ee0c62db190d2f8cf8887e6d3db
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
module NxtSchema module Node class ErrorStore < ::Hash def initialize(application) super() @application = application end attr_reader :application def add_schema_error(message:) add_error( application, NxtSchema::Node::Errors::SchemaError.new( application: application, message: message ) ) end def add_validation_error(message:) add_error( application, NxtSchema::Node::Errors::ValidationError.new( application: application, message: message ) ) end def merge_errors(application) merge!(application.errors) end def add_error(application, error) self[application.error_key] ||= [] self[application.error_key] << error end # def schema_errors # inject({}) do |acc, (k, v)| # errors = v.select { |e| e.is_a?(NxtSchema::Node::Errors::SchemaError) } # acc[k] = errors if errors.any? # acc # end # end # # def validation_errors # inject({}) do |acc, (k, v)| # errors = v.select { |e| e.is_a?(NxtSchema::Node::Errors::ValidationError) } # acc[k] = errors if errors.any? # acc # end # end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nxt_schema-1.0.1 | lib/nxt_schema/node/error_store.rb |