class Embulk::Input::Sitemap::Plugin

Public Class Methods

resume(task, columns, count) { |task, columns, count| ... } click to toggle source
# File lib/embulk/input/sitemap/plugin.rb, line 24
def self.resume(task, columns, count, &control)
  task_reports = yield(task, columns, count)

  next_config_diff = {}
  return next_config_diff
end
transaction(config, &control) click to toggle source
# File lib/embulk/input/sitemap/plugin.rb, line 7
def self.transaction(config, &control)
  # configuration code:
  task = {
    "url" => config.param("url", :string),
    "params" => config.param("params", :array, default: []),
  }

  columns = [
    Column.new(0, "loc", :string),
    Column.new(1, "lastmod", :string),
    Column.new(2, "priority", :double),
    Column.new(3, "changefreq", :string),
  ]

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

Public Instance Methods

init() click to toggle source
# File lib/embulk/input/sitemap/plugin.rb, line 31
def init
end
run() click to toggle source
# File lib/embulk/input/sitemap/plugin.rb, line 34
def run
  client = Embulk::Input::Sitemap::Client.new(task["url"], task["params"])
  client.invoke.each do |item|
    page_builder.add([
      item.loc,
      item.lastmod,
      item.priority,
      item.changefreq,
    ])
  end
  page_builder.finish

  task_report = {}
  return task_report
end