我正在尝试使用其他人创建并发布在互联网上的进度条小部件(https://gist.github.com/mdirienzo/6716905)。
我创建了一个作业文件(Ruby),它从Excel文件中提取数据并将其发送到小部件。它将所有数据加载到我的变量中(我可以在 history.yml 文件中看到),但小部件显示为一个只有标题的空白矩形(根本没有条形)。
这是我的工作文件进度条.rb:
require 'date'
require 'roo'
require 'active_support'
require 'active_support/core_ext'
PROGRESS_FILENAME = 'progressbars.xlsx'
SCHEDULER.every '3s', :first_in => '1s' do
progress = []
progress_report = Roo::Excelx.new(PROGRESS_FILENAME)
(2..progress_report.last_row).each do |row|
name = progress_report.cell(row, 1)
name.sub!(/(S+),s*(S+).*/, '2 1')
prog = progress_report.cell(row, 4)
progress.push({name: name, progress: prog})
end
# get next 10 timeline
progress = progress.sort{|a, b| a[:progress] <=> b[:progress]}[0..9]
# assemble data to send to client
progress_data = []
progress.each do |progress|
progress_data.push({
'label' => progress[:name],
'value' => progress[:progress].to_i
})
end
send_event('progress', items: progress_data)
end
数据正在正确发送,但小部件需要不同的名称。在您链接的站点中,发送事件应类似于send_event( 'progress_bars', {title: "", progress_items: []}
因此请将发送事件更改为 send_event('progress', progress_items: progress_data)
。