Module: Anisoptera::Serializer

Extended by:
Serializer
Included in:
Serializer
Defined in:
lib/anisoptera/serializer.rb

Defined Under Namespace

Classes: BadString

Instance Method Summary collapse

Instance Method Details

#b64_decode(string) ⇒ Object



19
20
21
22
# File 'lib/anisoptera/serializer.rb', line 19

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

#b64_encode(string) ⇒ Object



15
16
17
# File 'lib/anisoptera/serializer.rb', line 15

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

#marshal_decode(string) ⇒ Object



28
29
30
31
32
# File 'lib/anisoptera/serializer.rb', line 28

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

#marshal_encode(object) ⇒ Object



24
25
26
# File 'lib/anisoptera/serializer.rb', line 24

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