Class: Synthra::Types::FinanceBanking::TransactionAmount
- Defined in:
- lib/synthra/types/finance_banking/banking.rb
Overview
TransactionAmount type
Instance Method Summary collapse
- #generate_edge(rng, context, args) ⇒ Object
- #generate_invalid(rng, context, args) ⇒ Object
-
#generate_random(rng, context, args) ⇒ Float
Generate random transaction amount.
Instance Method Details
#generate_edge(rng, context, args) ⇒ Object
414 415 416 |
# File 'lib/synthra/types/finance_banking/banking.rb', line 414 def generate_edge(rng, context, args) [0.01, 0.0, 999999.99].sample(random: rng.instance_variable_get(:@random)) end |
#generate_invalid(rng, context, args) ⇒ Object
418 419 420 |
# File 'lib/synthra/types/finance_banking/banking.rb', line 418 def generate_invalid(rng, context, args) [nil, "not a number", -1.0, [], {}].sample(random: rng.instance_variable_get(:@random)) end |
#generate_random(rng, context, args) ⇒ Float
Generate random transaction amount
400 401 402 403 404 405 406 407 408 409 410 411 412 |
# File 'lib/synthra/types/finance_banking/banking.rb', line 400 def generate_random(rng, context, args) if args[:range].is_a?(Range) min = args[:range].min max = args[:range].max else min = args[:min] || 0.01 max = args[:max] || 10_000.00 end precision = args[:precision] || 2 value = rng.rand * (max - min) + min value.round(precision) end |