Sha256: 22fba1233c2a2e405a221cba8635e3f6d832123f7f4294e8c7b15867bd60c1e9

Contents?: true

Size: 343 Bytes

Versions: 75

Compression:

Stored size: 343 Bytes

Contents

module Pay
  module NanoId
    # Generates unique IDs - faster than UUID
    ALPHABET = "_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".freeze
    ALPHABET_SIZE = ALPHABET.size

    def self.generate(size: 21)
      id = ""
      size.times { id << ALPHABET[(Random.rand * ALPHABET_SIZE).floor] }
      id
    end
  end
end

Version data entries

75 entries across 75 versions & 1 rubygems

Version Path
pay-8.2.1 lib/pay/nano_id.rb
pay-8.2.0 lib/pay/nano_id.rb
pay-8.1.3 lib/pay/nano_id.rb
pay-8.1.2 lib/pay/nano_id.rb
pay-8.1.1 lib/pay/nano_id.rb
pay-8.1.0 lib/pay/nano_id.rb
pay-8.0.0 lib/pay/nano_id.rb
pay-7.3.0 lib/pay/nano_id.rb
pay-7.2.1 lib/pay/nano_id.rb
pay-7.1.1 lib/pay/nano_id.rb
pay-7.1.0 lib/pay/nano_id.rb
pay-7.0.0 lib/pay/nano_id.rb
pay-6.8.1 lib/pay/nano_id.rb
pay-6.8.0 lib/pay/nano_id.rb
pay-6.7.2 lib/pay/nano_id.rb
pay-6.7.1 lib/pay/nano_id.rb
pay-6.7.0 lib/pay/nano_id.rb
pay-6.6.1 lib/pay/nano_id.rb
pay-6.6.0 lib/pay/nano_id.rb
pay-6.5.0 lib/pay/nano_id.rb