Class: CsvPatch::Revision

Inherits:
Operation show all
Defined in:
lib/csv_patch/revision.rb

Instance Method Summary collapse

Methods inherited from Operation

#csv_line, #csv_values

Constructor Details

#initialize(changes, output_stream) ⇒ Revision

Returns a new instance of Revision.



7
8
9
10
11
12
# File 'lib/csv_patch/revision.rb', line 7

def initialize changes, output_stream
  @output_stream  = output_stream
  @changes        = changes

  header_line([])
end

Instance Method Details

#add_new_linesObject



25
26
27
28
29
# File 'lib/csv_patch/revision.rb', line 25

def add_new_lines
  @changes.values.each do |addition|
    emit generate_new_row(addition)
  end
end

#column_metadataObject



31
32
33
# File 'lib/csv_patch/revision.rb', line 31

def 
  { columns: @columns, empty_columns: @empty_columns }
end

#header_line(line) ⇒ Object



14
15
16
17
18
19
# File 'lib/csv_patch/revision.rb', line 14

def header_line line
  return unless line

  @columns = line
  mark_all_columns_empty
end

#replace_line(line) ⇒ Object



21
22
23
# File 'lib/csv_patch/revision.rb', line 21

def replace_line line
  emit replacement_line_for(line)
end