Class: Embulk::Input::Inline

Inherits:
InputPlugin
  • Object
show all
Defined in:
lib/embulk/input/inline.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.resume(task, columns, count, &control) ⇒ Object



20
21
22
23
24
25
# File 'lib/embulk/input/inline.rb', line 20

def self.resume(task, columns, count, &control)
  task_reports = yield(task, columns, count)

  next_config_diff = {}
  return next_config_diff
end

.transaction(config, &control) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/embulk/input/inline.rb', line 7

def self.transaction(config, &control)
  task = {
    "schema" => config.param("schema", :array),
    "data" => config.param("data", :array)
  }

  columns = task['schema'].map.with_index { |column, i|
    Column.new(i, column['name'], column['type'].to_sym)
  }

  resume(task, columns, 1, &control)
end

Instance Method Details

#initObject



27
28
29
# File 'lib/embulk/input/inline.rb', line 27

def init
  @data = task["data"]
end

#runObject



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/embulk/input/inline.rb', line 31

def run
  @data.each do |record|
    values = schema.map { |column|
      convert_value(column.type, record[column.name])
    }
    page_builder.add(values)
  end
  page_builder.finish

  task_report = {}
  return task_report
end