Class: Dbviewer::PiiConfigurator

Inherits:
Object
  • Object
show all
Defined in:
lib/dbviewer/pii_configuration.rb

Overview

Helper class for configuring PII masking rules

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ PiiConfigurator

Returns a new instance of PiiConfigurator.



4
5
6
# File 'lib/dbviewer/pii_configuration.rb', line 4

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#custom_mask(name, block) ⇒ Object

Define a custom masking function

Parameters:

  • name (Symbol)

    Name of the custom mask

  • block (Proc)

    The masking function



18
19
20
# File 'lib/dbviewer/pii_configuration.rb', line 18

def custom_mask(name, block)
  @configuration.custom_pii_masks[name] = block
end

#enabled=(enabled) ⇒ Object

Enable or disable PII masking globally

Parameters:

  • enabled (Boolean)

    Whether to enable PII masking



24
25
26
# File 'lib/dbviewer/pii_configuration.rb', line 24

def enabled=(enabled)
  @configuration.enable_pii_masking = enabled
end

#mask(column_spec, with:) ⇒ Object

Define a PII masking rule

Parameters:

  • column_spec (String)

    Table and column in format “table.column”

  • with (Symbol, Proc)

    Masking rule - either built-in symbol or custom proc



11
12
13
# File 'lib/dbviewer/pii_configuration.rb', line 11

def mask(column_spec, with:)
  @configuration.pii_rules[column_spec] = with
end