class 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 lib/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 lib/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 lib/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 lib/xmlrpc/base64.rb, line 34 def decoded @str end
encoded()
click to toggle source
Returns the base64 encoded internal string.
# File lib/xmlrpc/base64.rb, line 39 def encoded Base64.encode(@str) end