Sha256: be5c541787156e98c131baa65a5887be28507259b776760f6d9433eaeb547eff
Contents?: true
Size: 849 Bytes
Versions: 3
Compression:
Stored size: 849 Bytes
Contents
# frozen_string_literal: true require 'dry-validation' module Fawry module Contracts class RefundRequestContract < Dry::Validation::Contract params do required(:reference_number).value(:string) required(:refund_amount).value(:decimal) optional(:merchant_code).value(:string) optional(:fawry_secure_key).value(:string) optional(:reason).value(:string) end rule(:fawry_secure_key) do if ENV['FAWRY_SECURE_KEY'].nil? && value.nil? key(:fawry_secure_key).failure('fawry secure key is required as a param or an env var') end end rule(:merchant_code) do if ENV['FAWRY_MERCHANT_CODE'].nil? && value.nil? key(:merchant_code).failure('fawry merchant code is required as a param or an env var') end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fawry-1.2.1 | lib/fawry/contracts/refund_request_contract.rb |
fawry-1.1.1 | lib/fawry/contracts/refund_request_contract.rb |
fawry-1.0.0 | lib/fawry/contracts/refund_request_contract.rb |