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

green_magic.data.magic_encoder   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 12
dl 0
loc 16
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A MagicEncoder.encode() 0 6 1
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