class Embulk::Input::YahooAds::Plugin
Public Class Methods
resume(task, columns, count) { |task, columns, count| ... }
click to toggle source
# File lib/embulk/input/yahoo_ads/plugin.rb, line 33 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/yahoo_ads/plugin.rb, line 7 def self.transaction(config, &control) # configuration code: task = { :location => config.param("location", :string), :version => config.param("version", :string), :license => config.param("license", :string), :api_account => config.param("api_account", :string), :api_password => config.param("api_password", :string), :namespace => config.param("namespace", :string), :columns => config.param("columns", :array), :account_id => config.param("account_id", :string), :report_type => config.param("report_type", :string), :date_range => { :min => config.param("date_range_min", :string), :max => config.param("date_range_max", :string), }, } columns = task[:columns].map do |colname| column = Column.all.find{|c| c[:request_name] == colname} ::Embulk::Column.new(nil, colname, column[:type]) end resume(task, columns, 1, &control) end
Public Instance Methods
init()
click to toggle source
# File lib/embulk/input/yahoo_ads/plugin.rb, line 40 def init end
run()
click to toggle source
# File lib/embulk/input/yahoo_ads/plugin.rb, line 43 def run auth_config = AuthConfig.new({ :location => task["location"], :version => task["version"], :license => task["license"], :api_account => task["api_account"], :api_password => task["api_password"], :namespace => task["namespace"], }) ReportClient.new(task["account_id"], auth_config).run({ :report_type => task["report_type"], :date_range_type => 'CUSTOM_DATE', :date_range => { :start_date => task["date_range"]["min"], :end_date => task["date_range"]["max"], }, :fields => task["columns"] }).each do |row| page_builder.add(task["columns"].map do|column| col = Column.all.find{|c| c[:request_name] == column} row.send(col[:xml_name]) end) end page_builder.finish task_report = {} return task_report end