module Cryptor::Encoding

Encode and parse strings in “URL-safe” Base64 format

Public Instance Methods

decode(string) click to toggle source

Decode an unpadded URL-safe Base64 string

@param string [String] URL-safe Base64 string to be decoded (sans ‘=’ padding) @return [String] decoded string

# File lib/cryptor/encoding.rb, line 20
def decode(string)
  padding_size  = string.bytesize % 4
  padded_string =  padding_size > 0 ? string + '=' * (4 - padding_size) : string

  Base64.urlsafe_decode64(padded_string)
end
encode(string) click to toggle source

Encode a string in unpadded URL-safe Base64

@param string [String] arbitrary string to be encoded @return [String] URL-safe Base64 encoded string (sans ‘=’ padding)

# File lib/cryptor/encoding.rb, line 12
def encode(string)
  Base64.urlsafe_encode64(string).sub(/=*$/, '')
end