Sha256: 3aae74db4476da87fd7a1b1c7abe2ce5f2575a2b0e982eec94c7d2e3f0ff586a
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
module Examples class CustomErrors include JSON::SchemaBuilder def required_error lambda do |entities, error| if error[:failed_attribute] == "Required" required = entities.map(&:required).inject(:+).uniq error[:message] = "#{error[:fragment]} requires properties #{required.map(&:to_s).inspect}" end end end def object_error lambda do |entities, error| error[:message] = "Custom object error" end end def example object error: required_error do object :user, required: true, error: object_error object :settings, error: required_error do string :name, required: true, error: "Custom name error" end end end def example2 object do object :settings, error: required_error do string :other, required: true, error: "Other error" end end end def any_of object do entity :user do any_of [ object { object(:settings) { string :name, error: "Nested" } }, null ] end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems