class ArrayTransform::Operations::AddColumn

Attributes

cell_operation[R]
data[R]
new_column_header[R]

Public Class Methods

new( cell_operation:, data:, new_column_header: nil ) click to toggle source
# File lib/array_transform/operations/add_column.rb, line 6
def initialize(
  cell_operation:,
  data:,
  new_column_header: nil
)
  @cell_operation = cell_operation
  @data = data
  @new_column_header = new_column_header
end

Public Instance Methods

call() click to toggle source
# File lib/array_transform/operations/add_column.rb, line 18
def call
  add_column
end

Private Instance Methods

add_column() click to toggle source
# File lib/array_transform/operations/add_column.rb, line 26
def add_column
  data.each.with_index do |row, row_index|
    row << cell_operation.call(row_index)
  end
  new_column_header && data[0][-1] = new_column_header
end