Passed
Push — dev ( 5b3715...a42717 )
by Konstantinos
01:24
created

MagicEncoder.encode()   A

Complexity

Conditions 1

Size

Total Lines 6
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 1
nop 3
1
import attr
2
from green_magic.utils import Subject
3
4
5
@attr.s
6
class MagicEncoder:
7
    encoders = attr.ib(init=True, default={})
8
    subject = attr.ib(init=True, default=Subject([]))
9
10
    def encode(self, *args, **kwargs):
11
        encoder = self.encoders[args[0]]
12
13
        self.subject.state = encoder.encode(*args[1:], **kwargs)
14
        self.subject.columns = encoder.columns
15
        self.subject.notify()
16