Class: TableStructure::Schema::Table::ColumnConverter

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

Instance Method Summary collapse

Constructor Details

#initialize(overrides, context: nil) ⇒ ColumnConverter

Returns a new instance of ColumnConverter.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/table_structure/schema/table/column_converter.rb', line 7

def initialize(overrides, context: nil)
  table_context = context
  overrides
    .reject { |callables:, **| callables.nil? || callables.empty? }
    .each do |method:, callables:|
      define_method(method) do |context: nil|
        values = super(context: context)
        values.map do |val|
          callables.reduce(val) do |val, (_, callable)|
            callable.call(val, context, table_context)
          end
        end
      end
    end
end