2012-04-04 01:25:33 +02:00
|
|
|
class GitlabSerialize
|
|
|
|
# Called to deserialize data to ruby object.
|
|
|
|
def load(data)
|
2012-04-04 01:49:58 +02:00
|
|
|
hash = parse_data(data)
|
|
|
|
hash = HashWithIndifferentAccess.new(hash) if hash
|
|
|
|
hash
|
|
|
|
end
|
|
|
|
|
|
|
|
def parse_data(data)
|
2012-04-04 01:25:33 +02:00
|
|
|
JSON.load(data)
|
|
|
|
rescue JSON::ParserError
|
|
|
|
begin
|
|
|
|
YAML.load(data)
|
|
|
|
rescue Psych::SyntaxError
|
|
|
|
nil
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Called to convert from ruby object to serialized data.
|
|
|
|
def dump(obj)
|
|
|
|
JSON.dump(obj)
|
|
|
|
end
|
|
|
|
end
|