class SamlTool::Decoder

Attributes

output[RW]
saml[R]

Public Class Methods

decode(encoded_saml) click to toggle source
# File lib/saml_tool/decoder.rb, line 7
def self.decode(encoded_saml)
  new(encoded_saml).decode
end
new(encoded_saml) click to toggle source
# File lib/saml_tool/decoder.rb, line 11
def initialize(encoded_saml)
  @saml = encoded_saml
  @output = @saml.clone
end

Public Instance Methods

base64() click to toggle source
# File lib/saml_tool/decoder.rb, line 22
def base64
  self.output = Base64.decode64 output
end
decode() click to toggle source
# File lib/saml_tool/decoder.rb, line 16
def decode
  base64
  zlib
  output
end
zlib() click to toggle source
# File lib/saml_tool/decoder.rb, line 26
def zlib
  zstream  = Zlib::Inflate.new(-Zlib::MAX_WBITS) # I have no idea why we're using minus Zlib::MAX_WBITS. Zlib documentation suggests just Zlib::MAX_WBITS should work, but it doesn't
    self.output = zstream.inflate(output)
  zstream.finish
  zstream.close
  return output
end