Class: Synthra::Types::FinanceBanking::AccountNumber
- Defined in:
- lib/synthra/types/finance_banking/banking.rb
Overview
AccountNumber type
Instance Method Summary collapse
- #generate_edge(rng, context, args) ⇒ Object
- #generate_invalid(rng, context, args) ⇒ Object
-
#generate_random(rng, context, args) ⇒ String
Generate random account number.
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
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 |