Module: Peddler::LegacyReports

Defined in:
lib/peddler/legacy_reports.rb

Overview

This module contains methods to manage legacy reports – anything that comes before section 7 in the API docs.

Defined Under Namespace

Classes: Report, ReportStatus, Status, UploadStatus

Class Method Summary collapse

Class Method Details

.generate(transport, name, params = {}) ⇒ Object

Requests a report to be generated and returns the report instance if request is successful.



22
23
24
25
26
27
28
29
# File 'lib/peddler/legacy_reports.rb', line 22

def self.generate(transport,name,params={})
  transport.legacize_request
  transport.path << "manual-reports/generate-report-now"
  transport.headers[:report_name] = name.to_s.camelize
  transport.headers.merge!(params)
  res = transport.execute_request
  res =~ /SUCCESS/ ? Peddler::LegacyReports::Report.new(transport, name) : false
end

.latest(transport, name, params = {}) ⇒ Object

Returns statuses of most recent reports in an array of OpenStructs.



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/peddler/legacy_reports.rb', line 7

def self.latest(transport,name,params={})
  transport.legacize_request
  if name == :upload
    transport.path << "catalog-upload/get-batches"
    transport.headers[:number_of_batches] = params[:count] if params[:count]
  else
    transport.path << "manual-reports/get-report-status"
    transport.headers[:report_name] = name.to_s.camelize
    transport.headers[:number_of_reports] = params[:count] if params[:count]
  end
  res = transport.execute_request
  Peddler::Handlers::XMLHandler.parse_legacy(Hash.from_xml(res))
end