Sha256: 5feb5462d4a473fb682132368c29fe383c0b94c86834b65c329365a30344bc9c

Contents?: true

Size: 382 Bytes

Versions: 7

Compression:

Stored size: 382 Bytes

Contents

# frozen_string_literal: false

module Kiev
  module Base52
    KEYS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".freeze
    BASE = KEYS.length.freeze

    def self.encode(num)
      return KEYS[0] if num == 0
      return nil if num < 0

      str = ""
      while num > 0
        str.prepend(KEYS[num % BASE])
        num /= BASE
      end
      str
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
kiev-4.3.0 lib/kiev/base52.rb
kiev-4.2.0 lib/kiev/base52.rb
kiev-4.1.0 lib/kiev/base52.rb
kiev-4.0.0 lib/kiev/base52.rb
kiev-3.0.0 lib/kiev/base52.rb
kiev-2.8.0 lib/kiev/base52.rb
kiev-2.7.3 lib/kiev/base52.rb