Class: Synthra::Types::FinanceBanking::Currency
- Defined in:
- lib/synthra/types/finance_banking/banking.rb
Overview
Currency type
Constant Summary collapse
- FALLBACK_CODES =
Fallback currency codes if Faker is unavailable
ISO 4217 currency codes used when Faker cannot generate codes.
%w[ USD EUR GBP JPY CNY INR BRL CAD AUD CHF SEK NOK DKK NZD SGD HKD KRW MXN ZAR RUB TRY PLN CZK HUF RON BGN HRK ILS AED SAR THB MYR IDR PHP VND EGP NGN KES MAD PKR ].freeze
Instance Method Summary collapse
- #generate_edge(rng, context, args) ⇒ Object
- #generate_invalid(rng, context, args) ⇒ Object
-
#generate_random(rng, context, args) ⇒ String
Generate a random currency code.
Instance Method Details
#generate_edge(rng, context, args) ⇒ Object
109 110 111 |
# File 'lib/synthra/types/finance_banking/banking.rb', line 109 def generate_edge(rng, context, args) ["USD", "EUR", "GBP"].sample(random: rng.instance_variable_get(:@random)) end |
#generate_invalid(rng, context, args) ⇒ Object
113 114 115 |
# File 'lib/synthra/types/finance_banking/banking.rb', line 113 def generate_invalid(rng, context, args) [nil, "XX", "123", [], {}].sample(random: rng.instance_variable_get(:@random)) end |
#generate_random(rng, context, args) ⇒ String
Generate a random currency code
Uses Faker::Currency.code for realistic ISO 4217 codes.
95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/synthra/types/finance_banking/banking.rb', line 95 def generate_random(rng, context, args) adapter = faker_adapter(context) if adapter adapter.currency_code else Faker::Currency.code end rescue StandardError rng.sample(FALLBACK_CODES) end |