Class: TableStructure::Table::ColumnConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/table_structure/table/column_converter.rb

Defined Under Namespace

Classes: ColumnConvertible

Class Method Summary collapse

Class Method Details

.create_module(converters, context:) {|ColumnConvertible.new(methods)| ... } ⇒ Object

Yields:



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/table_structure/table/column_converter.rb', line 14

def create_module(converters, context:)
  return if converters.empty?

  header_converters = converters.select { |_k, v| v.applicable_to_header? }
  body_converters = converters.select { |_k, v| v.applicable_to_body? }

  methods = {}

  unless header_converters.empty?
    methods[:header] = create_method(header_converters, context)
  end

  unless body_converters.empty?
    methods[:data] = create_method(body_converters, context)
  end

  yield ColumnConvertible.new(methods)
end