Class: Synthra::Types::FinanceBanking::AccountNumber

Inherits:
Base
  • Object
show all
Defined in:
lib/synthra/types/finance_banking/banking.rb

Overview

AccountNumber type

Instance Method Summary collapse

Instance Method Details

#generate_edge(rng, context, args) ⇒ Object



252
253
254
# File 'lib/synthra/types/finance_banking/banking.rb', line 252

def generate_edge(rng, context, args)
  ["00000000", "999999999999"].sample(random: rng.instance_variable_get(:@random))
end

#generate_invalid(rng, context, args) ⇒ Object



256
257
258
# File 'lib/synthra/types/finance_banking/banking.rb', line 256

def generate_invalid(rng, context, args)
  [nil, "not a number", [], {}].sample(random: rng.instance_variable_get(:@random))
end

#generate_random(rng, context, args) ⇒ String

Generate random account number

Parameters:

Options Hash (args):

  • :length (Integer)

    account number length (default: 8..12)

  • :format (String)

    format string (e.g., "%010d" for zero-padding)

Returns:

  • (String)

    generated account number



236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/synthra/types/finance_banking/banking.rb', line 236

def generate_random(rng, context, args)
  length = args[:length] || rng.int(8, 12)
  format_str = args[:format]

  # Generate number
  max_value = 10**length - 1
  value = rng.int(0, max_value)

  # Format if specified
  if format_str
    format(format_str, value)
  else
    value.to_s.rjust(length, "0")
  end
end