Passed
Push — master ( d636b2...ee6986 )
by Fabio
06:00
created

benedict.serializers.abstract   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 21
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A AbstractSerializer.__init__() 0 3 1
A AbstractSerializer.encode() 0 2 1
A AbstractSerializer.extensions() 0 2 1
A AbstractSerializer.decode() 0 2 1
1
# -*- coding: utf-8 -*-
2
3
4
class AbstractSerializer(object):
5
    """
6
    This class describes an abstract serializer.
7
    """
8
9
    def __init__(self, extensions=None):
10
        super(AbstractSerializer, self).__init__()
11
        self._extensions = (extensions or []).copy()
12
13
    def decode(self, s, **kwargs):
14
        raise NotImplementedError()
15
16
    def encode(self, d, **kwargs):
17
        raise NotImplementedError()
18
19
    def extensions(self):
20
        return self._extensions.copy()
21