Class: ColumnFilterCleaner
- Defined in:
- lib/suds/cleaner/column_filter_cleaner.rb
Instance Attribute Summary collapse
-
#exclude_columns ⇒ Object
Returns the value of attribute exclude_columns.
-
#include_columns ⇒ Object
Returns the value of attribute include_columns.
Attributes inherited from Cleaner
Instance Method Summary collapse
- #clean(data) ⇒ Object
-
#initialize(exclude_columns: [], include_columns: []) ⇒ ColumnFilterCleaner
constructor
A new instance of ColumnFilterCleaner.
Methods inherited from Cleaner
Constructor Details
#initialize(exclude_columns: [], include_columns: []) ⇒ ColumnFilterCleaner
Returns a new instance of ColumnFilterCleaner.
5 6 7 8 9 10 |
# 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 |
Instance Attribute Details
#exclude_columns ⇒ Object
Returns the value of attribute exclude_columns.
4 5 6 |
# File 'lib/suds/cleaner/column_filter_cleaner.rb', line 4 def exclude_columns @exclude_columns end |
#include_columns ⇒ Object
Returns the value of attribute include_columns.
4 5 6 |
# File 'lib/suds/cleaner/column_filter_cleaner.rb', line 4 def include_columns @include_columns end |
Instance Method Details
#clean(data) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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 |