class Embulk::Plugin::FilterGrep

Public Class Methods

new(task, in_schema, out_schema, page_builder) click to toggle source
Calls superclass method
# File lib/embulk/filter_grep.rb, line 20
def initialize(task, in_schema, out_schema, page_builder)
  super
  @columns = task['columns']
end
transaction(config, in_schema) { |task, out_columns| ... } click to toggle source
# File lib/embulk/filter_grep.rb, line 8
def self.transaction(config, in_schema, &control)
  task = {
    'columns' => config.param('columns', :array),
  }

  out_columns = in_schema

  puts "Extranction filter started."
  yield(task, out_columns)
  puts "Extranction filter finished."
end

Public Instance Methods

add(page) click to toggle source
# File lib/embulk/filter_grep.rb, line 28
def add(page)
  page.each do |record|
    hash = Hash[in_schema.names.zip(record)]
    @columns.each do |col|
      regEx = col['regexp']
      if hash[col['name']] =~ /#{regEx}/
        @page_builder.add(record)
      end
    end
  end
end
close() click to toggle source
# File lib/embulk/filter_grep.rb, line 25
def close
end
finish() click to toggle source
# File lib/embulk/filter_grep.rb, line 40
def finish
  @page_builder.finish
end