Sha256: 8de63b8bcbc028aaea5dfd263f9a73718bd47fd9c72f941cece2304e40394020

Contents?: true

Size: 696 Bytes

Versions: 2

Compression:

Stored size: 696 Bytes

Contents

require 'sym/crypt/errors'
require 'base64'
require 'zlib'

module Sym
  module Crypt
    module Data
      class Decoder
        attr_accessor :data, :data_encoded, :data

        def initialize(data_encoded, compress)
          self.data_encoded = data_encoded
          self.data         = begin
            Base64.urlsafe_decode64(data_encoded)
          rescue
            data_encoded
          end

          if compress.nil? || compress # auto-guess
            self.data = begin
              Zlib::Inflate.inflate(data)
            rescue Zlib::Error => e
              data
            end
          end
          self.data = Marshal.load(data)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sym-crypt-1.1.1 lib/sym/crypt/data/decoder.rb
sym-crypt-1.0.0 lib/sym/crypt/data/decoder.rb