Module: Dragonfly::Serializer

Extended by:
Serializer
Included in:
DataStorage::CouchDataStore, DataStorage::MongoDataStore, DataStorage::S3DataStore, Serializer
Defined in:
lib/dragonfly/serializer.rb

Defined Under Namespace

Classes: BadString

Instance Method Summary (collapse)

Instance Method Details

- (Object) b64_decode(string)



16
17
18
19
# File 'lib/dragonfly/serializer.rb', line 16

def b64_decode(string)
  padding_length = string.length % 4
  Base64.decode64(string.tr('~','/') + '=' * padding_length)
end

- (Object) b64_encode(string)



12
13
14
# File 'lib/dragonfly/serializer.rb', line 12

def b64_encode(string)
  Base64.encode64(string).tr("\n=",'').tr('/','~')
end

- (Object) marshal_decode(string)



25
26
27
28
29
# File 'lib/dragonfly/serializer.rb', line 25

def marshal_decode(string)
  Marshal.load(b64_decode(string))
rescue TypeError, ArgumentError => e
  raise BadString, "couldn't decode #{string} - got #{e}"
end

- (Object) marshal_encode(object)



21
22
23
# File 'lib/dragonfly/serializer.rb', line 21

def marshal_encode(object)
  b64_encode(Marshal.dump(object))
end