Class: Embulk::Filter::Enum
- Inherits:
-
FilterPlugin
- Object
- FilterPlugin
- Embulk::Filter::Enum
- Defined in:
- lib/embulk/filter/enum.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.transaction(config, in_schema) {|task, out_columns| ... } ⇒ Object
7 8 9 10 11 12 13 14 |
# 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 |
Instance Method Details
#add(page) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# 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 ⇒ Object
20 21 |
# File 'lib/embulk/filter/enum.rb', line 20 def close end |
#finish ⇒ Object
36 37 38 |
# File 'lib/embulk/filter/enum.rb', line 36 def finish page_builder.finish end |
#init ⇒ Object
16 17 18 |
# File 'lib/embulk/filter/enum.rb', line 16 def init @enums = task["enums"] end |