Class: Randrizer::Types::String
- Defined in:
- lib/randrizer/types/string.rb
Constant Summary collapse
- CHARS_NUMBERS =
"0123456789"- CHARS_SYMBOLS =
" !\"£$%^&()=-*/[]#\\~"- CHARS_LOWERCASE_LETTERS =
"abcdfeghijklmnopqrstuvwxyz"- CHARS_UPPERCASE_LETTERS =
CHARS_LOWERCASE_LETTERS.upcase
- CHARS_ALL_LETTERS =
CHARS_LOWERCASE_LETTERS + CHARS_UPPERCASE_LETTERS
- DEFAULT_VALID_CHARS =
CHARS_NUMBERS + CHARS_ALL_LETTERS + CHARS_SYMBOLS
- DEFAULT_MIN_LENGTH =
0- DEFAULT_MAX_LENGTH =
99
Instance Method Summary collapse
- #eval ⇒ Object
-
#initialize(min_length: DEFAULT_MIN_LENGTH, max_length: DEFAULT_MAX_LENGTH, valid_chars: DEFAULT_VALID_CHARS) ⇒ String
constructor
A new instance of String.
- #validate! ⇒ Object
Constructor Details
#initialize(min_length: DEFAULT_MIN_LENGTH, max_length: DEFAULT_MAX_LENGTH, valid_chars: DEFAULT_VALID_CHARS) ⇒ String
Returns a new instance of String.
22 23 24 25 26 27 28 |
# 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 |
Instance Method Details
#eval ⇒ Object
36 37 38 39 40 |
# 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! ⇒ Object
30 31 32 33 34 |
# File 'lib/randrizer/types/string.rb', line 30 def validate! return if @max_length >= @min_length raise ValidationError("invalid length configuration") end |