class ColumnFilterCleaner

Attributes

exclude_columns[RW]
include_columns[RW]

Public Class Methods

new(exclude_columns:[], include_columns:[]) click to toggle source
# File lib/suds/cleaner/column_filter_cleaner.rb, line 5
def initialize exclude_columns:[], include_columns:[]
  @exclude_columns = [exclude_columns].flatten.map(&:to_s)
  @include_columns = [include_columns].flatten.map(&:to_s)

  raise "You must provide include_columns or exclude_columns." if @exclude_columns.empty? and @include_columns.empty?
end

Public Instance Methods

clean(data) click to toggle source
# File lib/suds/cleaner/column_filter_cleaner.rb, line 12
def clean data
  if not @include_columns.empty?
    exclude_columns = data.first.keys.map(&:to_s) - @include_columns
  else
    exclude_columns = @exclude_columns
  end

  data.each do |row|
    exclude_columns.each do |col|
      row.delete col
      row.delete col.to_sym
    end
  end
end