Sha256: 754663f7aea720d912dbd97a3540b40516d29df963d181d5ce95d6543902a49b
Contents?: true
Size: 939 Bytes
Versions: 7
Compression:
Stored size: 939 Bytes
Contents
require "pact_broker/api/contracts/pacticipant_schema" module PactBroker module Api module Contracts class PacticipantCreateSchema extend DryValidationWorkarounds extend PactBroker::Messages using PactBroker::HashRefinements SCHEMA = Dry::Validation.Schema do configure do predicates(DryValidationPredicates) config.messages_file = File.expand_path("../../../locale/en.yml", __FILE__) end required(:name).filled(:str?, :single_line?) end def self.call(params_with_string_keys) params = params_with_string_keys&.symbolize_keys update_errors = PacticipantSchema::SCHEMA.call(params).messages(full: true) create_errors = SCHEMA.call(params).messages(full: true) select_first_message(flatten_indexed_messages(update_errors.merge(create_errors))) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems