module Dragonfly::Serializer
Public Instance Methods
b64_decode(string)
click to toggle source
# File lib/dragonfly/serializer.rb, line 18 def b64_decode(string) padding_length = string.length % 4 string = string.tr('~', '/') Base64.decode64(string + '=' * padding_length) end
b64_encode(string)
click to toggle source
# File lib/dragonfly/serializer.rb, line 14 def b64_encode(string) Base64.encode64(string).tr("\n=",'') end
json_b64_decode(string)
click to toggle source
# File lib/dragonfly/serializer.rb, line 51 def json_b64_decode(string) json_decode(b64_decode(string)) end
json_b64_encode(object)
click to toggle source
# File lib/dragonfly/serializer.rb, line 47 def json_b64_encode(object) b64_encode(json_encode(object)) end
json_decode(string)
click to toggle source
# File lib/dragonfly/serializer.rb, line 40 def json_decode(string) raise BadString, "can't decode blank string" if Utils.blank?(string) MultiJson.decode(string) rescue MultiJson::DecodeError => e raise BadString, "couldn't json decode string - got #{e}" end
json_encode(object)
click to toggle source
# File lib/dragonfly/serializer.rb, line 36 def json_encode(object) MultiJson.encode(object) end
marshal_b64_decode(string, opts={})
click to toggle source
# File lib/dragonfly/serializer.rb, line 28 def marshal_b64_decode(string, opts={}) marshal_string = b64_decode(string) raise MaliciousString, "potentially malicious marshal string #{marshal_string.inspect}" if opts[:check_malicious] && marshal_string[/@[a-z_]/i] Marshal.load(marshal_string) rescue TypeError, ArgumentError => e raise BadString, "couldn't marshal decode string - got #{e}" end
marshal_b64_encode(object)
click to toggle source
# File lib/dragonfly/serializer.rb, line 24 def marshal_b64_encode(object) b64_encode(Marshal.dump(object)) end