Sha256: 0e932271980426b60708865757382491ff699e857dca5d47018d6b6fdea1f157
Contents?: true
Size: 1.48 KB
Versions: 20
Compression:
Stored size: 1.48 KB
Contents
module Vedeu module Templating # Converts an encoded string back into an object or collection of # objects. # # @api private # class Decoder # @param (see #initialize) # @return [Object] def self.process(data) new(data).process end # Returns a new instance of Vedeu::Templating::Decoder. # # @param data [String] # @return [Vedeu::Templating::Decoder] def initialize(data) @data = data end # Converts an encoded string back into an object or collection # of objects. # # @return [Object] def process demarshal end protected # @!attribute [r] data # @return [String] attr_reader :data private # Convert the marshalled object or objects back into an # object(s). # # @return [Object] def demarshal Marshal.load(decompress) end # Decompress the marshalled object or objects. # # @return [String] def decompress Zlib::Inflate.inflate(decode64) end # Decode the Base64 string into a compressed, marshalled object # or objects. # # @return [String] def decode64 Base64.strict_decode64(unwrap) end # Removes delimiters from the start and end of the data. # # @return [String] def unwrap data.gsub(/({{)|(}})/, '') end end # Decoder end # Templating end # Vedeu
Version data entries
20 entries across 20 versions & 1 rubygems