Class: Hedgelog::Scrubber

Inherits:
Object
  • Object
show all
Defined in:
lib/hedgelog/scrubber.rb

Instance Method Summary collapse

Constructor Details

#initialize(replacements = nil) ⇒ Scrubber

Returns a new instance of Scrubber.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/hedgelog/scrubber.rb', line 5

def initialize(replacements = nil)
  @replacements = [ScrubReplacement.new('password', '**********')]
  unless replacements.nil?
    replacements.each do |x|
      if x.instance_of?(ScrubReplacement)
        @replacements << x
      else
        @replacements << ScrubReplacement.new(x,'**********')
      end
    end
  end
end

Instance Method Details

#scrub(data) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/hedgelog/scrubber.rb', line 18

def scrub(data)
  # Need to Marshal.dump/Marshal.load to deep copy the input so that scrubbing doesn't change global state
  d = Marshal.load(Marshal.dump(data))
  @replacements.each do |r|
    r.scrub_hash(d)
  end
  d
end