In Files

  • xmlrpc/base64.rb

Parent

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) click to toggle source

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) click to toggle source

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) click to toggle source

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() click to toggle source

Returns the decoded internal string.

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

Returns the base64 encoded internal string.

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

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.