class Randrizer::Types::String
Constants
- CHARS_ALL_LETTERS
- CHARS_LOWERCASE_LETTERS
- CHARS_NUMBERS
- CHARS_SYMBOLS
- CHARS_UPPERCASE_LETTERS
- DEFAULT_MAX_LENGTH
- DEFAULT_MIN_LENGTH
- DEFAULT_VALID_CHARS
Public Class Methods
new(min_length: DEFAULT_MIN_LENGTH, max_length: DEFAULT_MAX_LENGTH, valid_chars: DEFAULT_VALID_CHARS)
click to toggle source
# File lib/randrizer/types/string.rb, line 22 def initialize(min_length: DEFAULT_MIN_LENGTH, max_length: DEFAULT_MAX_LENGTH, valid_chars: DEFAULT_VALID_CHARS) @min_length = min_length @max_length = max_length @valid_chars = valid_chars end
Public Instance Methods
eval()
click to toggle source
# File lib/randrizer/types/string.rb, line 36 def eval chars_split = @valid_chars.split("") string_length = rand(@min_length..@max_length) string_length.times.map { chars_split.sample }.join end
validate!()
click to toggle source
# File lib/randrizer/types/string.rb, line 30 def validate! return if @max_length >= @min_length raise ValidationError("invalid length configuration") end