| Total Complexity | 1 |
| Total Lines | 16 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 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 |