Sha256: 53ac3fae6530cd9c2d8484c4af419ab02a0e9e7342b3f6336031d115e8cf635e
Contents?: true
Size: 563 Bytes
Versions: 1
Compression:
Stored size: 563 Bytes
Contents
# frozen_string_literal: true module UnambiguousString require_relative "unambiguous_string/version" 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 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 end puts UnambiguousString.call(groups: 2, joiner: ".")
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unambiguous_string-0.1.0 | lib/unambiguous_string.rb |