Module: UnambiguousString

Defined in:
lib/unambiguous_string.rb,
lib/unambiguous_string/version.rb

Constant Summary collapse

NUMBERS =
("0".."9").to_a.freeze
LETTERS =
("a".."z").to_a.freeze
ALL_CHARS =
(NUMBERS + LETTERS).freeze
AMBIGUOUS =
%w[1 l i 0 o 6 b 2 z].freeze
UNAMBIGUOUS_CHARS =
(ALL_CHARS - AMBIGUOUS).freeze
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.call(joiner: "-", size: 10, groups: 1) ⇒ Object



12
13
14
15
16
# File 'lib/unambiguous_string.rb', line 12

def self.call(joiner: "-", size: 10, groups: 1)
  chars = size.times.map { UNAMBIGUOUS_CHARS.sample }
  groups = chars.each_slice(size / groups).map(&:join)
  groups.join(joiner)
end