Class: XMLRPC::Base64 (Ruby 2.3.4)

XMLRPC::Base64

This class is necessary for ‘xmlrpc4r’ to determine that a string should be transmitted base64-encoded and not as a raw-string.

You can use XMLRPC::Base64 on the client and server-side as a parameter and/or return-value.

Public Class Methods

decode(str)

Decodes string str with base64 and returns that value.

 
               # File xmlrpc/base64.rb, line 45
def Base64.decode(str)
  str.gsub(/\s+/, "").unpack("m")[0]
end
            
encode(str)

Encodes string str with base64 and returns that value.

 
               # File xmlrpc/base64.rb, line 50
def Base64.encode(str)
  [str].pack("m")
end
            
new(str, state = :dec)

Creates a new XMLRPC::Base64 instance with string str as the internal string. When state is :dec it assumes that the string str is not in base64 format (perhaps already decoded), otherwise if state is :enc it decodes str and stores it as the internal string.

 
               # File xmlrpc/base64.rb, line 22
def initialize(str, state = :dec)
  case state
  when :enc
    @str = Base64.decode(str)
  when :dec
    @str = str
  else
    raise ArgumentError, "wrong argument; either :enc or :dec"
  end
end
            

Public Instance Methods

decoded()

Returns the decoded internal string.

 
               # File xmlrpc/base64.rb, line 34
def decoded
  @str
end
            
encoded()

Returns the base64 encoded internal string.

 
               # File xmlrpc/base64.rb, line 39
def encoded
  Base64.encode(@str)
end