class PositionalGenerator::Builder::Letter
Public Class Methods
new(length, ranges)
click to toggle source
# File lib/helpers/positional_generator.rb, line 430 def initialize(length, ranges) @length = length @ranges = ranges end
Public Instance Methods
generate(_)
click to toggle source
# File lib/helpers/positional_generator.rb, line 435 def generate(_) @length.times.inject('') do |acc, _index| generated_character = char "#{acc}#{generated_character}" end end
Private Instance Methods
char()
click to toggle source
# File lib/helpers/positional_generator.rb, line 444 def char if @ranges case s = @ranges.sample(random: Faker::Config.random) when Range s.to_a.sample(random: Faker::Config.random) when Array, Set s.sample(random: Faker::Config.random) else raise ArgumentError, "unsupported range type: #{s.inspect}" end else Faker::Base.sample(Faker::Base::Letters) end end