IuryNogueira/myreef

View on GitHub
backend_v2/app/contracts/application_contract.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true
 
class ApplicationContract < Dry::Validation::Contract
config.messages.default_locale = :en
config.messages.backend = :i18n
 
# rubocop:disable Rails/DeprecatedActiveModelErrorsMethods
def self.call(args)
instance = new.call(args)
 
if instance.errors.messages.any?
error_message = instance.errors.to_h.values.flatten.join(", ")
raise InvalidContractError, error_message
end
 
instance.to_h
end
# rubocop:enable Rails/DeprecatedActiveModelErrorsMethods
end