i'll add some documentaton, but it should be pretty straight forward from the comments
add gem 'zendesk_api', '~> 1.4.3' to your gemfile
<% content_for :title do %>Zendesk View Dashboard<% end %> | |
<div class="gridster"> | |
<ul> | |
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1"> | |
<div data-id="1234" data-view="Number" data-title="Some cool view" data-suffix=""></div> | |
</li> | |
<li data-row="1" data-col="2" data-sizex="1" data-sizey="1"> | |
<div data-id="1235" data-view="Number" data-title="Another cool view" data-suffix=""></div> | |
</li> | |
</div> |
require 'zendesk_api' | |
client = ZendeskAPI::Client.new do |config| | |
config.url = "https://domain.zendesk.com/api/v2" # e.g. https://mydesk.zendesk.com/api/v2 | |
config.username = "[email protected]" | |
config.token = "TOKEN_HERE" | |
config.retry = true | |
end | |
# array of view IDs to check, these are your data-id's in your erb file. | |
views = [1234,1235] | |
SCHEDULER.every '1m', :first_in => 0 do |job| | |
counts = client.view_counts(:ids => views, :path => 'views/count_many') | |
counts.all do |ct| | |
if ct.fresh | |
puts "sending "+ct.view_id.to_s+" : "+ct.value.to_s | |
send_event(ct.view_id.to_i, { current: ct.value.to_i}) | |
end | |
end | |
end |
It uses the standard dashing Number widget. You likely need to modify the widget to work as you want.