Module: Cryptor::Encoding

Defined in:
lib/cryptor/encoding.rb

Overview

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

Class Method Summary collapse

Class Method Details

.decode(string) ⇒ String

Decode an unpadded URL-safe Base64 string

Parameters:

  • string (String)

    URL-safe Base64 string to be decoded (sans ‘=’ padding)

Returns:

  • (String)

    decoded string



20
21
22
23
24
25
# 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) ⇒ String

Encode a string in unpadded URL-safe Base64

Parameters:

  • string (String)

    arbitrary string to be encoded

Returns:

  • (String)

    URL-safe Base64 encoded string (sans ‘=’ padding)



12
13
14
# File 'lib/cryptor/encoding.rb', line 12

def encode(string)
  Base64.urlsafe_encode64(string).sub(/=*$/, '')
end