Sha256: e3acab326596e210cdc08e36e1c7b6e642891e4c9b646448eed0ca07ba2574e4
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
require "dry-validation" require "pact_broker/api/contracts/dry_validation_workarounds" require "pact_broker/api/contracts/dry_validation_predicates" module PactBroker module Api module Contracts class VerifiablePactsQuerySchema extend DryValidationWorkarounds using PactBroker::HashRefinements SCHEMA = Dry::Validation.Schema do configure do predicates(DryValidationPredicates) config.messages_file = File.expand_path("../../../locale/en.yml", __FILE__) end optional(:provider_version_tags).maybe(:array?) optional(:consumer_version_selectors).each do schema do required(:tag).filled(:str?) optional(:latest).filled(included_in?: ["true", "false"]) optional(:fallback_tag).filled(:str?) optional(:consumer).filled(:str?, :not_blank?) end end optional(:include_pending_status).filled(included_in?: ["true", "false"]) optional(:include_wip_pacts_since).filled(:date?) end def self.call(params) select_first_message(flatten_indexed_messages(SCHEMA.call(params&.symbolize_keys).messages(full: true))) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-2.80.0 | lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb |