class RegexCleaner

Constants

EMAIL_REGEX

Attributes

regex_map[RW]

Public Class Methods

new(regex_map, destroy_row: false) click to toggle source
# File lib/suds/cleaner/regex_cleaner.rb, line 7
def initialize regex_map, destroy_row: false
  @regex_map = {}
  regex_map.each do |column,regex|
    if Array === column
      column.each do |col|
        @regex_map[col] = regex
      end
    else
      @regex_map[column] = regex
    end
  end
  @columns = @regex_map.keys.map(&:to_s)
  @destroy_row = destroy_row
end

Public Instance Methods

clean(data) click to toggle source
# File lib/suds/cleaner/regex_cleaner.rb, line 22
def clean data
  ret_data = data.select do |row|
    save_row = true
    row.keys.each do |key|
      if @regex_map[key]
        if !(row[key].to_s =~ @regex_map[key])
          if @destroy_row
            save_row = false
          else
            row.delete key
          end
        end
      end
    end
    save_row # for select
  end
  return ret_data
end