Sha256: 69e0609d2d8bbef2d7b59c882aca8c6b4a990e40ba11fd610684f4083345dfdc
Contents?: true
Size: 1.33 KB
Versions: 2
Compression:
Stored size: 1.33 KB
Contents
module Vedeu module Templating # Converts an encoded string back into an object or objects. # class Decoder # @param data [String] # @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 # @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 '{{' and '}}' from the start and end of the data. # # @return [String] def unwrap data.gsub(/({{)|(}})/, '') end end # Decoder end # Templating end # Vedeu
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.5.0 | lib/vedeu/templating/decoder.rb |
vedeu-0.4.65 | lib/vedeu/templating/decoder.rb |