Class: PactBroker::Api::Contracts::VerifiablePactsQuerySchema
- Inherits:
-
Object
- Object
- PactBroker::Api::Contracts::VerifiablePactsQuerySchema
- Defined in:
- lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb
Constant Summary collapse
- SCHEMA =
Dry::Validation.Schema do optional(:provider_version_tags).maybe(:array?) # optional(:exclude_other_pending).filled(included_in?: ["true", "false"]) optional(:consumer_version_selectors).each do schema do required(:tag).filled(:str?) optional(:latest).filled(included_in?: ["true", "false"]) end end end
Class Method Summary collapse
- .call(params) ⇒ Object
- .flatten_index_messages(messages) ⇒ Object
- .select_first_message(messages) ⇒ Object
Class Method Details
.call(params) ⇒ Object
18 19 20 |
# File 'lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb', line 18 def self.call(params) ((SCHEMA.call(params).(full: true))) end |
.flatten_index_messages(messages) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb', line 28 def self.() if [:consumer_version_selectors] = [:consumer_version_selectors].collect do | index, value | value.values.flatten.collect { | text | "#{text} at index #{index}"} end.flatten .merge(consumer_version_selectors: ) else end end |
.select_first_message(messages) ⇒ Object
22 23 24 25 26 |
# File 'lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb', line 22 def self.() .each_with_object({}) do | (key, value), | [key] = [value.first] end end |