Method: Worldline::Acquiring::SDK::Logging::Obfuscation::BodyObfuscator#initialize

Defined in:
lib/worldline/acquiring/sdk/logging/obfuscation/body_obfuscator.rb

#initialize(additional_rules = nil) ⇒ BodyObfuscator

Creates a new body obfuscator. This will contain some pre-defined obfuscation rules, as well as any provided custom rules

Parameters:

  • additional_rules (Hash) (defaults to: nil)

    An optional hash where the keys are property names and the values are functions that obfuscate a single value



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/worldline/acquiring/sdk/logging/obfuscation/body_obfuscator.rb', line 16

def initialize(additional_rules = nil)
  @obfuscation_rules = {
    "address" => Obfuscation.obfuscate_all,
    "authenticationValue" => Obfuscation.obfuscate_all_but_first(4),
    "bin" => Obfuscation.obfuscate_all_but_first(6),
    "cardholderAddress" => Obfuscation.obfuscate_all,
    "cardholderPostalCode" => Obfuscation.obfuscate_all,
    "cardNumber" => Obfuscation.obfuscate_all_but_last(4),
    "cardSecurityCode" => Obfuscation.obfuscate_all,
    "city" => Obfuscation.obfuscate_all,
    "cryptogram" => Obfuscation.obfuscate_all_but_first(4),
    "expiryDate" => Obfuscation.obfuscate_all_but_last(4),
    "name" => Obfuscation.obfuscate_all,
    "paymentAccountReference" => Obfuscation.obfuscate_all_but_first(6),
    "postalCode" => Obfuscation.obfuscate_all,
    "stateCode" => Obfuscation.obfuscate_all,
  }
  if additional_rules
    additional_rules.each do |name, rule|
      @obfuscation_rules[name] = rule
    end
  end

  @property_pattern = build_property_pattern(@obfuscation_rules.keys)
end