Sha256: e942264d05ebc3671cf3de09564f9dbe2d619e8e14931207d77e0360fbbd1f40
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
require "dry-validation" require "pact_broker/api/contracts/dry_validation_macros" require "pact_broker/api/contracts/dry_validation_methods" require "pact_broker/api/contracts/dry_validation_errors_formatter" require "pact_broker/messages" require "pact_broker/hash_refinements" module PactBroker module Api module Contracts class BaseContract < Dry::Validation::Contract include DryValidationMethods extend DryValidationErrorsFormatter using PactBroker::HashRefinements # The entry method for all the Dry::Validation::Contract classes # eg. MyContract.call(params) # It takes the params (doesn't matter if they're string or symbol keys) # executes the dry-validation validation, and formats the errors into the Pactflow format. # # @param [Hash] the parameters to validate # @return [Hash] the validation errors to display to the user def self.call(params) format_errors(new.call(params&.symbolize_keys).errors) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems