Class: Csvbuilder::Import::DynamicColumnAttribute

Inherits:
DynamicColumnAttributeBase
  • Object
show all
Defined in:
lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(column_name, source_headers, source_cells, row_model) ⇒ DynamicColumnAttribute

Returns a new instance of DynamicColumnAttribute.



10
11
12
13
14
15
# File 'lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb', line 10

def initialize(column_name, source_headers, source_cells, row_model)
  @source_headers = source_headers
  @source_cells   = source_cells

  super(column_name, row_model)
end

Instance Attribute Details

#source_cellsObject (readonly)

Returns the value of attribute source_cells.



8
9
10
# File 'lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb', line 8

def source_cells
  @source_cells
end

#source_headersObject (readonly)

Returns the value of attribute source_headers.



8
9
10
# File 'lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb', line 8

def source_headers
  @source_headers
end

Class Method Details

.define_process_cell(row_model_class, column_name) ⇒ Object



30
31
32
# File 'lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb', line 30

def define_process_cell(row_model_class, column_name)
  super { |formatted_cell, _source_headers| formatted_cell }
end

Instance Method Details

#formatted_headersObject



23
24
25
26
27
# File 'lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb', line 23

def formatted_headers
  source_headers.map do |source_headers|
    row_model_class.format_dynamic_column_header(source_headers, column_name, row_model.context)
  end
end

#unformatted_valueObject



17
18
19
20
21
# File 'lib/csvbuilder/dynamic/columns/importer/internal/import/dynamic_column_attribute.rb', line 17

def unformatted_value
  source_cells.zip(formatted_headers).map do |source_cell, formatted_header|
    call_process_cell(source_cell, formatted_header)
  end
end