Sha256: 5a6d53420700d437f2ac559ca7410077125e61d8215f029d8ec6bb96a6c4bd40

Contents?: true

Size: 428 Bytes

Versions: 1

Compression:

Stored size: 428 Bytes

Contents

require 'shortuuid/version'
require 'radix'

module ShortUUID
  def self.shorten(uuid, alphabet = Radix::BASE::B62)
    uuid.split('-').join.to_i(16).b(10).to_s(alphabet)
  end

  def self.expand(short_uuid, alphabet = Radix::BASE::B62)
    uuid = short_uuid.b(alphabet).to_i.to_s(16).rjust(32, '0')
    [
      uuid[0..7],
      uuid[8..11],
      uuid[12..15],
      uuid[16..19],
      uuid[20..31]
    ].join('-')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shortuuid-0.1.0 lib/shortuuid.rb