class Embulk::Filter::Enum
Public Class Methods
transaction(config, in_schema) { |task, out_columns| ... }
click to toggle source
# File lib/embulk/filter/enum.rb, line 7 def self.transaction(config, in_schema, &control) task = { "enums" => config.param("enums", :array, default: []) } out_columns = in_schema yield(task, out_columns) end
Public Instance Methods
add(page)
click to toggle source
# File lib/embulk/filter/enum.rb, line 23 def add(page) page.each do |record| result = {} record = Hash[in_schema.names.zip(record)] record.each do |key, value| enum = @enums.find {|e| e.key?(key) } result[key] = enum.nil? ? value : enum[key]["values"][value] || enum[key]["else"] end page_builder.add(result.values) end end
close()
click to toggle source
# File lib/embulk/filter/enum.rb, line 20 def close end
finish()
click to toggle source
# File lib/embulk/filter/enum.rb, line 36 def finish page_builder.finish end
init()
click to toggle source
# File lib/embulk/filter/enum.rb, line 16 def init @enums = task["enums"] end