diff_priv/publishing/
csv_publisher.rs1use crate::data_manipulation::anonymizable::Anonymizable;
2use crate::publishing::publisher::Publisher;
3use crate::test::csv_exporter::CsvExporter;
4use uuid::Uuid;
5
6pub struct CsvPublisher<'a> {
7 exporter: &'a mut CsvExporter,
8}
9
10impl<'a> CsvPublisher<'a> {
11 pub fn new(exporter: &'a mut CsvExporter) -> Self {
12 Self { exporter }
13 }
14}
15
16impl<'a> Publisher for CsvPublisher<'a> {
17 fn publish<M: Anonymizable>(&mut self, value: M, uuid: Uuid, dr: f64) {
18 self.exporter.add(value.extract_string_values(uuid, dr));
19 }
20}