Как установить значение по умолчанию для Dry::Validation::Contract

У меня есть следующий контракт, и я хотел бы каким-то образом установить по умолчанию все, что установлено в ENV.fetch('MY_ENV'), чтобы пользователям не приходилось проходитьparam для каждого контракта. Я бы хотел, чтобы он как-то вводился автоматически, если это возможно.

      require 'dry-validation'

class BaseContract < Dry::Validation::Contract
  params do
    required(:apikey).value(:string)
  end

  rule(:apikey) do
    key.failure("must provide 'apikey'. Please set 'TICKETMASTER_API_KEY' in your environment")
  end
end

class Event < BaseContract
  params do
    required(:id).value(:string)
  end
end

event = Event.new
event.call(id: '123') # <= I'd like :apikey to be automatically set here

Является ли это возможным?

0 ответов

Другие вопросы по тегам