module GdprExporter

Public Class Methods

add_klass(klass) click to toggle source
# File lib/gdpr_exporter.rb, line 15
def self.add_klass(klass)
  @@klasses << klass
end
export(user_id) click to toggle source

Collects data through all the tagged models and generates a csv formatted output

# File lib/gdpr_exporter.rb, line 21
def self.export(user_id)
  CSV.generate(force_quotes: true) do |csv|
    get_klasses.each do |klass|
      rows = klass.gdpr_query(user_id)
      klass.gdpr_export(rows, csv)
    end
  end
end
get_klasses() click to toggle source
# File lib/gdpr_exporter.rb, line 11
def self.get_klasses
  @@klasses
end
included(base) click to toggle source

Instruments the classes implementing this module with instance and class methods.

# File lib/gdpr_exporter.rb, line 32
def self.included base
  base.send :include, InstanceMethods
  base.extend ClassMethods
end