Method: ExistClient::Tasks#report

Defined in:
lib/exist_client/tasks.rb

#reportObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/exist_client/tasks.rb', line 5

def report
  ExistClient.log "Reporting completed tasks"
  completed_tasks = plugin.completed_tasks(report_period, data_path).map { |task_data| Task.new(task_data) }
  grouped_tasks = filter_tasks(completed_tasks).group_by(&:logical_date)

  if grouped_tasks.any?
    ExistClient.log "Found data for the following dates:", indent: 1
    ExistClient.log grouped_tasks.keys.sort.map { |date| date.strftime("%-m/%-d") }.join(", "), indent: 1
  else
    ExistClient.log "No new data found", indent: 1
    return
  end

  values = grouped_tasks.map do |date, tasks|
    {
      name: "tasks_completed",
      date: date.to_s,
      value: tasks.size
    }
  end

  ExistClient.log "Reporting completed tasks data...", indent: 1
  ExistClient.post(values)
end