class Cloaca::Operations::ExtractUniqueColumnValues
Public Class Methods
new( column_delimiter:, index_or_value:, input:, output:, row_offset: 0, ** )
click to toggle source
# File lib/cloaca/operations/extract_unique_column_values.rb, line 5 def initialize( column_delimiter:, index_or_value:, input:, output:, row_offset: 0, ** ) @index_or_value = index_or_value @row_offset = row_offset @column_delimiter = column_delimiter @input = input @output = output end
Public Instance Methods
run!()
click to toggle source
# File lib/cloaca/operations/extract_unique_column_values.rb, line 20 def run! unique_values = Set.new @input.each_with_index do |line, index| if index == 0 @column_index = extract_index(line, @column_delimiter, @index_or_value) end if @column_index if index < @row_offset next end value = line.split(@column_delimiter)[@column_index] if !unique_values.include?(value) unique_values.add(value) @output.puts(value) end end end end