Class: PactBroker::Api::Contracts::CanIDeployQuerySchema
- Inherits:
-
Object
- Object
- PactBroker::Api::Contracts::CanIDeployQuerySchema
show all
- Extended by:
- Messages
- Defined in:
- lib/pact_broker/matrix/can_i_deploy_query_schema.rb
Constant Summary
collapse
- SCHEMA =
Dry::Validation.Schema do
configure do
predicates(DryValidationPredicates)
config.messages_file = PactBroker.project_root.join("lib", "pact_broker", "locale", "en.yml")
end
required(:pacticipant).filled(:str?)
required(:version).filled(:str?)
optional(:to).filled(:str?)
optional(:environment).filled(:str?, :environment_with_name_exists?)
end
Class Method Summary
collapse
Methods included from Messages
message, pluralize, potential_duplicate_pacticipant_message, validation_message
Class Method Details
.call(params) ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/pact_broker/matrix/can_i_deploy_query_schema.rb', line 23
def self.call(params)
result = select_first_message(SCHEMA.call(params).messages(full: true))
if params[:to] && params[:environment]
result[:to] ||= []
result[:to] << message("errors.validation.cannot_specify_tag_and_environment")
end
result
end
|
.select_first_message(messages) ⇒ Object
32
33
34
35
36
|
# File 'lib/pact_broker/matrix/can_i_deploy_query_schema.rb', line 32
def self.select_first_message(messages)
messages.each_with_object({}) do | (key, value), new_messages |
new_messages[key] = [value.first]
end
end
|