class Fluent::Plugin::MyScrubFilter

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin/filter_myscrub.rb, line 9
def configure(conf)
  super
end
filter(tag, time, record) click to toggle source
# File lib/fluent/plugin/filter_myscrub.rb, line 42
def filter(tag, time, record)
  read_record(record)
  if @@flag == 0 then
    record
  else 
        @@flag = 0
    nil
  end
end
my_scrub(string) click to toggle source
# File lib/fluent/plugin/filter_myscrub.rb, line 13
def my_scrub(string)
  begin
    string =~ //
    return string
  rescue ArgumentError => e
    raise e unless e.message.index("invalid byte sequence in") == 0
    if string.frozen?
      @@flag = 1
      string = string.dup.scrub!("borg")
    else
      @@flag = 1
      string.scrub!("borg")
    end
    retry
  end
end
read_record(record) click to toggle source
# File lib/fluent/plugin/filter_myscrub.rb, line 30
def read_record(record)
  record.each do |k,v|
    if v.instance_of? Hash
      my_scrub(k)
      read_record(v)
    else
      my_scrub(k) 
      my_scrub(v)
    end
  end
end