class ArrayTransform::Operations::RemoveColumn
Attributes
column_header[R]
data[R]
Public Class Methods
new( column_header: nil, column_index: nil, data: )
click to toggle source
# File lib/array_transform/operations/remove_column.rb, line 6 def initialize( column_header: nil, column_index: nil, data: ) @column_header = column_header @column_index = column_index @data = data end
Public Instance Methods
call()
click to toggle source
# File lib/array_transform/operations/remove_column.rb, line 18 def call validate! remove_column end
Private Instance Methods
column_header_index()
click to toggle source
# File lib/array_transform/operations/remove_column.rb, line 31 def column_header_index data[0] && data[0].index(column_header) end
column_index()
click to toggle source
# File lib/array_transform/operations/remove_column.rb, line 27 def column_index @column_index ||= column_header_index end
remove_column()
click to toggle source
# File lib/array_transform/operations/remove_column.rb, line 35 def remove_column column_index && data.each do |row| row.delete_at(column_index) end end
validate!()
click to toggle source
# File lib/array_transform/operations/remove_column.rb, line 41 def validate! if @column_index && @column_header raise(ArgumentError, "can only specify one of :column_index or :column_header") end end