Class: Arafa::Contracts::MobileDataContract
- Inherits:
-
Dry::Validation::Contract
- Object
- Dry::Validation::Contract
- Arafa::Contracts::MobileDataContract
- Defined in:
- lib/arafa/contracts/mobile_data_contract.rb
Overview
Africa's Talking Mobile Data API (ยง1.12). Unlike airtime, each recipient
carries its own bundle shape (quantity/unit/validity), so the
enum/positivity checks run per-recipient rather than once against a
single shared amount. Same "configured application username" business
rule as AfricasTalkingAirtimeContract, since AT has no equivalent in
Wasiliana for this product.
Constant Summary collapse
- UNITS =
%w[MB GB].freeze
- VALIDITIES =
%w[Day Week BiWeek Month Quarterly].freeze