Class: TableStructure::Schema::Table::ResultBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(overrides, keys:, context: nil) ⇒ ResultBuilder



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

def initialize(overrides, keys:, 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)
        callables
          .reduce(values) do |vals, (_, callable)|
            callable.call(vals, keys, context, table_context)
          end
      end
    end
end