Class: Synthra::Types::PersonalNames::Age

Inherits:
Base
  • Object
show all
Defined in:
lib/synthra/types/personal_names/identifiers.rb

Overview

Age type

Instance Method Summary collapse

Instance Method Details

#generate_edge(rng, context, args) ⇒ Object



72
73
74
# File 'lib/synthra/types/personal_names/identifiers.rb', line 72

def generate_edge(rng, context, args)
  [0, 120, 18].sample(random: rng.instance_variable_get(:@random))
end

#generate_invalid(rng, context, args) ⇒ Object



76
77
78
# File 'lib/synthra/types/personal_names/identifiers.rb', line 76

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

#generate_random(rng, context, args) ⇒ Integer

Generate random age

Parameters:

Options Hash (args):

  • :range (Range)

    age range (e.g., 18..65)

  • :min (Integer)

    minimum age (default: 0)

  • :max (Integer)

    maximum age (default: 120)

Returns:

  • (Integer)

    generated age



61
62
63
64
65
66
67
68
69
70
# File 'lib/synthra/types/personal_names/identifiers.rb', line 61

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
    max = args[:max] || 120
  end
  rng.int(min, max)
end